Serielle Datenübertragung

Gast #5679
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.

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