Atmega8 UART TX Fehlersuche

OP #2166465
Lesenswert?
• ▲
▼
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 #2166620
Lesenswert?
• ▲
▼
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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.