Gast
#164988
Hi,
ich weiß keinen Rat mehr und bitte um Hilfe:
Habe einen ATMega 16 und will nun zum ersten Mal über RS232 Daten mit
dem PC austauschen.
Die PC-Schnittstelle und das Nullmodemkabel ist i.O. - habe 2 PCs damit
verbunden und es ausprobiert.
Am ATMega16 mit ext. 16 Mhz Quarz habe ich den MAx232 wie üblich
beschaltet und in Bascom folgendes Programm geschrieben:
---------------------------------------------------------------
$regfile = "m16def.dat"
$crystal = 16000000
$baud = 19200
Config Lcd = 20 * 4
Config Lcdmode = Port
Config Lcdbus = 4
Dim Name As String * 10
Enable Interrupts
Cls
'Goto Empfangen
Goto Senden
Empfangen:
Config Serialin = Buffered , Size = 20
Lcd "Empfangen"
Do
Name = Inkey()
If Err = 0 Then
Lcd Name
End If
Loop
Senden:
Config Serialout = Buffered , Size = 20
Lcd "Senden"
Print "Sendetest"
Do
Print "test"
waitms 100
Loop
End
---------------------------------------------------------------
Habe es auch mal mit 4800 oder 19200 Baud probiert: nix. Beim PC kommt
nichts an, noch nicht mal Müll. Umgekehrt ebenfalls: Will ich
empfangen, kommt beim ATMega nichts an. Bei "Goto Empfangen" bzw.
"Goto "senden wird natürlich je nach Bedarf der Kommentar
gesetzt/entfernt.
Die Fuse steht auf 1111:1111 also externer Quarz
Hat jemand eine Idee? Im Terminalprogramm habe ich 8 bit, 1 Stoppbit,
keine Parity eingestellt.
Habe mal mein Oszilloskop angeschlossen: Bei 19200 Baud erkenne ich auf
der RS232 Leitung die pro Sekunde gesendeten 4 Zeichen als ein ca. 3ms
langes Signal wieder. 4 Zeichen müssten doch bei 19200 baud und 8 bit/1
Stoppbit 4x9=36 bit bedeuten oder? Bei 19200 bit/sek macht das 1/533 sek
oder ca. 2ms.
Hat jemand eine Idee, wo ich noch nachsehen müsste? Ich habe keine Idee
mehr.
Danke
PeterK