Barthimaeus
10.12.2007, 21:59
Ich versuche jetzt schon seit einiger Zeit mit einer Serillen Softwareschnittstelle Daten zwischen 2 AtTiny13 auszutauschen. Leider klappt es nicht, aber ich verstehe nicht warum. Die Programme send und rcv sind sehr simpel gehalten und sollten eigentlich kein Problem darstellen. Send schickt ein Byte von PB2 des ersten Controllers und Recv liest das geschickte byte an PB0 des zweiten Controllers ein. Ist es 0 ->PB3 = 0, ist es 1 PB3 = 1 an PB3 hängt eine LED mt Vorwiederstand gegen GND
send:
$hwstack = 22
$regfile = "attiny13.dat"
$crystal = 9600000
Baud = 9600
Open "comb.2:9600,8,n,1,INVERTED" For Output As #1
Wait 1
Put #1 , 1
End
recv:
$hwstack = 22
$regfile = "attiny13.dat"
$crystal = 9600000
Baud = 9600
Open "comb.0:9600,8,n,1,INVERTED" For Input As #1
Config Portb.3 = Output
Portb.3 = 0
Dim Rcv As Byte
Do
Get #1 , Rcv
If Rcv = 1 Then
Portb.3 = 1
End
Else
Portb.3 = 0
End If
Loop
End
Zum Fehler: Es schein völlig egal zu sein was das Send programm schickt. Mal geht die LED an mal bleibt sie aus - Vollkommen zufällig, soweit ich feststellen kann. Die Schlatung ist auf einem Breadboard montiert und ist derart simpel, dass sie kaum falsch sein kann. Eingang und Ausgang für den Datentransfer sind einfach über eine Drahtbrücke verbunden.
Weis jmd warum es nicht klappt?
send:
$hwstack = 22
$regfile = "attiny13.dat"
$crystal = 9600000
Baud = 9600
Open "comb.2:9600,8,n,1,INVERTED" For Output As #1
Wait 1
Put #1 , 1
End
recv:
$hwstack = 22
$regfile = "attiny13.dat"
$crystal = 9600000
Baud = 9600
Open "comb.0:9600,8,n,1,INVERTED" For Input As #1
Config Portb.3 = Output
Portb.3 = 0
Dim Rcv As Byte
Do
Get #1 , Rcv
If Rcv = 1 Then
Portb.3 = 1
End
Else
Portb.3 = 0
End If
Loop
End
Zum Fehler: Es schein völlig egal zu sein was das Send programm schickt. Mal geht die LED an mal bleibt sie aus - Vollkommen zufällig, soweit ich feststellen kann. Die Schlatung ist auf einem Breadboard montiert und ist derart simpel, dass sie kaum falsch sein kann. Eingang und Ausgang für den Datentransfer sind einfach über eine Drahtbrücke verbunden.
Weis jmd warum es nicht klappt?