RS232 Steuerung

Gast #3867165
Lesenswert?

Hallo,

ich steuere meine Kino Vorstufe per RS232.
Das klappt alles ohne Probleme.
Nun möchte ich die Steuerung etwas erweitern, dabei tritt ein Problem 
auf.

Ich frage die Lautstärke mit folgenden Befehl ab:
1
Print "@MAIN:VOL=?"
Nach dem ersten abfragen bekomme ich eine korrekte Antwort von der 
Vorstufe die so aussieht:
1
@MAIN:VOL=-28.5

Nun sende ich den Befehl zur Lautstärkeabfrage ein zweites mal und 
bekomme da nicht mehr ganz das Ergebnis wie bei der ersten Abfrage:
Wobei das Fragezeichen irgendwas ist, was da nicht hin gehört
1
?@MAIN:VOL=-28.5

Wenn ich die Schaltung kurz vom Strom trenne und es erneut abfrage, dann 
klappt es beim ersten mal wie gewüncht und bei den nächsten Abfragen 
kommt wieder der Fehler dazu.

Anbei mal mein Testprogramm:
1
   $regfile = "m16adef.dat"
2
   $crystal = 8000000
3
   $hwstack = 32
4
   $swstack = 10
5
   $framesize = 40
6
   $baud = 9600
7

8
   Config Com1 = 9600 , Parity = None , Stopbits = 1 , Databits = 8
9

10
   Config Lcdpin = Pin , Rs = Portd.7 , E = Portc.0 , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = Portc.3 , Db7 = Portc.4
11
   Config Lcd = 20 * 2
12
   Cursor Off
13
   Cls
14

15
   Dim Lautstärke As String * 16
16

17
   Config Rc5 = Pind.6 , Wait = 2000
18
   Dim Address As Byte
19
   Dim Command As Byte
20

21
   Enable Interrupts
22

23
Do
24
   Getrc5(address , Command)
25
   If Address < 255 Then
26
      Command = Command And &B01111111
27
   End If
28

29
   If Command = 0 And Address = 0 Then
30
      Cls
31
      Print "@MAIN:VOL=?"
32
      Input Lautstärke
33
      Locate 1 , 1 : Lcd Lautstärke
34
   End If
35
Loop

Da kommt gleich noch ein Nachtrag...
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren