Forum: Compiler & IDEs Fragen zu uart_putc, etc.


von Markus van Rohe (Gast)


Lesenswert?

Hallo,

wollte brav die Beispiele eures Tutorials durchgehen und bin gerade bei
uart_putc angelangt. Mein Terminal Fenster zeigt mir nur wirre Zeichen
anstelle der sich unendlich oft wiederholenden Folge "0123456789".
Was mache ich falsch? (Mein Terminal steht auf automatische Erkennung
und findet dabei ANSI soweit ich das sehe.)

<c>
int main(void)
{
  UCR |= (1<<TXEN);
  UBRR=quarz/16/baud-1;            //Initialisieren des seriellen Ports


  while(1)
  {
    int uart_putc(unsigned char c)
      {
        while(!(USR & (1 << UDRE))); /* warte, bis UDR bereit */
        UDR = c;                     /* sende Zeichen */
        return 0;
      }
    char c;
     for (uint8_t i=0; i<=9; ++i)
    {
      c = i + '0';
      uart_putc( c );
    }
  }
}
</c>

Freue mich über eine rasche Antwort.

Ciao

M.V.R

von Robert (Gast)


Lesenswert?

Hi

Überprüfe bitte die Baudrate im Terminal und schau ob sie mit der
eingestellten Baudrate am µC übereinstimmt.

Gruß Robert

von Markus van Rohe (Gast)


Lesenswert?

Danke dir erstmal! Aber Baudrate stimmt. Datenbit, Stopbits, etc.
stimmen auch. Woran könnte es noch liegen?

M.V.R

von Karl heinz B. (kbucheg)


Lesenswert?

Bist du sicher, dass der µC vom Quarz angetrieben wird
und nicht vom internen Oszillator?

von Markus van Rohe (Gast)


Lesenswert?

Ja, das ist wirklich so. Das UCR ist doch standardmäßig, auf 8 N 1
eingestellt, wenn ich nichts  ändere (außer TXEN auf 1), oder?

von johnny.m (Gast)


Lesenswert?

Öhh, ich glaube, worauf Karl Heinz hinauswollte, ist die Frage, ob die
Fusebits korrekt gesetzt sind...

von Markus van Rohe (Gast)


Lesenswert?

Hat sich geklärt, hatte die falsche Frequenz eingestellt 4MHz anstatt
8.

Sorry! Beim nächsten prüfe ich noch sorgfältiger bevor ich euch wieder
nerve. Vielen Dank trotzdem für eure Mühen. Super Forum!

Ciao


M.V.R

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.