Atmega8 UART TX Fehlersuche

OP #2166465
Hi,

ich habe zur Zeit nen Prob. mit dem UART von meinem Board.
Es werden keine korrekten Signale geschickt bzw. nicht richtig 
Empfangen. Habe das Standart Terminal Programm von Win Xp genutzt.
Wenn ich Dezimal 255 schicke kommen 8 high bits an, aber sobald ich was 
anderes schicke kommen diese nicht richtig an.

BSP.:
TX am Board:
X=88
X=01011000

RX am PC:
248
11111000

Habe zu Erst vermutet das es an der Baudrate liegt, ABER
habe dann den Codewizzard CVAVR benutzt und da wird es wie bei mir 
Init..

Es ist ein Atmega8 16PU mit einem 4mhz Quarz verbaut(Übungsboard von der 
Schule).

Vielleicht findet einer von euch den Fehler. Habe den Überflüssigen Code 
rausgelassen(Display Init, EXT_Int).


#include <mega8.h>
#include <delay.h>
#include <stdlib.h>

void transmitUART(unsigned char send);
void uartInit(unsigned int baud);

void main (void)
{
uartInit(25);

#asm("sei");
do
{
transmitUART('X');
PORTC.2=!PORTC.2;
delay_ms(100);
}
while(1);
}
void uartInit(unsigned int baud)
{
UCSRB=0x18; //0b00011000;
UCSRC=0xA6; //0b10100110;
UCSRC&=0xEF; //0b01111111;
UBRRH=(baud>>8);
UBRRL=baud & 0xFF; //0b11111111
UCSRC|=0x80;
}

void transmitUART(unsigned char send)
{
        while(!UCSRA & (1<<5));
        UDR=send;
        while(!UCSRA & (1<<6));
}
OP
Wo stelle ich das denn ein? Bin mich gerade am durchlesen.
Darauf war ich auch schon am rum Rätseln. Habe schon auf paar Seiten 
gelesen das man einen Externen verwenden soll. Kannst du mir eventuell 
sagen, wo ich das Einstellen muss?

Sind das die Fuse Bits???

Hab im Datenblatt was drüber gefunden.
CKSEL1-3 müssen 1
CKSEL0 muss 0
SUT1-0 müssen 00

habe ich da recht?

Muss ich irgend Etwas bei den Fuse Bits beachten?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.