-
Problem mit UART
Hallo
Kann mir Jemand weiter helfen wo es bei mir Hackt? Hab 2 Mega16 so programmiert. Aber der Slave macht nix. Woran liegt es?
Code:
Master:
$regfile = "m16def.dat"
$crystal = 1000000
$baud = 9600
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Open "comd.2:2400,8,n,1,inverted" For Output As #1
Open "comd.3:2400,8,n,1,inverted" For Input As #2
Config Porta = Input
A = 200
B = 100
C = 1
D = 201
Do
If Pina.0 = 0 Then
Printbin #1 , A
Printbin #1 , B
Printbin #1 , C
Printbin #1 , D
End If
Loop
Close #1
Close #2
End
Slave:
$regfile = "m16def.dat"
$crystal = 1000000
$baud = 9600
Led1 Alias Porta.0
Config Porta = Output
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim E As Byte
Open "comd.3:2400,8,n,1,inverted" For Output As #1
Open "comd.2:2400,8,n,1,inverted" For Input As #2
Do
Ende:
A = Waitkey(#2)
If A = 200 Then
Porta.1 = 1
B = Waitkey(#2)
End If
If B = 100 Then
Set Led1
Waitms 500
Reset Led1
Goto Ende
End If
Loop
Close #1
Close #2
End
Bitte Hellft mir!!!!!!
-
warum steht denn da zuerst 9600 und dann 2400 ?
und warum musst du da was für output konfigurieren?
und außerdem reicht ein thread ...
-
Der Mega16 hat nur 1 USART.
D.h. dass du für den USART nur die Baud und den Crystal angeben musst.
Dann einfach nur mehr print "Hallo!"
Fertig
Wieso brauchst du Software USART????
-
Habs jetzt irgendwie geschaft. hab nur das problem das es mit hardware-uart nicht geht aber mit sofware schon. komisch!
Aber es geht!
danke noch mal
mfg
martin
-
äääh also das ist wirklich komisch ...
-
warum steht denn da zuerst 9600 und dann 2400 ?
und warum musst du da was für output konfigurieren? ...
sag mal kennst du bascom nicht!!!he junge!!!!
um softwareuart einzurichten musst du die pins als ausgang , als eingang festlegen und musst die bps festlegen.
-
hab nie behauptet das ich mich in bascom auskenne ;-)
aber meine uart kommunikation zwischen mehreren atmels funzt prima ... wollte ja nur helfen