Forum: Compiler & IDEs Serielle Datenübertragung


von Benno Müller (Gast)


Lesenswert?

Hiiiiiiiiilfe ;)

also ich such schon das ganze Wochenende nach meinem Fehler. Ich hab den 
uC (ATmega8) über ein Nullmodemkabel an den PC angeschlossen. Das 
Programm tut (bisher) ncihts anderes als ein Zeichen über die serielle 
Leitung zu senden. Dafür hab ich folgenden Teil in meiner main():

ch = 'Z';        //zu sendendes Zeichen

sbi(PORTD, PIND5);      //Startbit setzen. Pin setzen = Pegel 0
delay417cycles();
delay417cycles();        //1 Bit Delay
for(i = 0; i < 8; i++)
{
  if((ch & 1) == 1)      //Wenn Bit = 1, dann
    cbi(PORTD, PIND5);    //lösche Pin (Pegel 1)
  else        //ansonsten
    sbi(PORTD, PIND5);    //setze Pin (Pegel 0)
  ch>>=1;        //Zeichen um 1 Bit nach rechts verschieben
  delay417cycles();
  delay417cycles();      //1 Bit Delay
}

Die Pegel liegen scheinbar auch korrekt auf dem Pin und der Leitung an, 
trotzdem versteh ich nciht warum z.B. Hyperterminal mir kein 'Z' 
liefert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.