Hallo, mein USART schickt nur Nullen raus. Die Konfiguration ist so gemacht wie im Datenblatt. Hier der Quellcode: #include <avr/io.h> #include <inttypes.h> #include <delayms.c> //eigene Timerfunktion die etliche Milisec "wartet" int main(void) { uint8_t LED; unsigned int baud; DDRC = 0x00; SETBIT(DDRC,PC0); //hier sind meine LEDs qngeshclossen SETBIT(DDRC,PC1); LED = 1; /*USART Konfiguration*/ baud = 9600; UBRRH = (unsigned int)(baud>>8); UBRRL = (unsigned int)(baud); UCSRB = 0x00; SETBIT(UCSRB,RXEN); //RXD und TXD enablen SETBIT(UCSRB,TXEN); UCSRC = 0x00; SETBIT(UCSRC,URSEL); //use UCSRCregister instead of UBRRH SETBIT(UCSRC,USBS); //1 Stopbit SETBIT(UCSRC,UCSZ0); //setting 8bit Format SETBIT(UCSRC,UCSZ1); /*Schleife*/ for(;;) { while (!(UCSRA & (1<<UDRE))); // wait for empty transmit buffer UDR = 0X20; // !!!!!! EGAL was ich hier angeb, es wird immer 0x00 rausgeschickt (Ich ueberwache mit Serial Monitor Programm) LED = 1-LED; PORTC = LED; delayms(300); } } Wer sieht da einen Fehler? mg, Johannes
Ich habs, Fehler in der HArdware :) Chip falschherum reingeloetet... !!!!!!!grmpf!!!!!!!!!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.