Die Hardwareverbindung sicher OK, mit einem Loop getestet. Interner Oszillator oder Quarz.
Hey
ich versuche nun schon seit einigen Tagen den ersten UART eines Atmega 644P zum laufen zu bekommen. Allerdings empfange ich am PC keinerlei Zeichen.
Hatt jemand eine idee was an dem Code falsch sein könnte ?Code:unsigned int BAUD=9600; void USART_Transmit( unsigned char data ) { while ( !( UCSR0A & (1<<UDRE0)) ) ; UDR0 = data; } int main() { UBRR0 = (F_CPU / (BAUD * 16L) - 1); UCSR0B |= (1<<TXEN0); UCSR0C |= (1<<USBS0) | (3<<UCSZ00); while(1) { USART_Transmit('h'); _delay_ms(300); }
Die Hardwareverbindung sicher OK, mit einem Loop getestet. Interner Oszillator oder Quarz.
was meinst du mit einem Loop getestet??...hab die verbindung aufjedenfall mehrmals überprüft. Hab nen externen 20MHZ Quarz
Wenn du einen DIL hast geht der Loop-Test sehr einfach. µC heraus nehmen, eine Drahtbrücke zwischen RX und TX stecken.
Am PC Zeichen senden, diese müssen als Echo zurück kommen. Dann ist sichergestellt das die Hardware OK ist.
Der Quarz ist in den Fuses auch eingestellt?
Also so wie es aussieht scheint der MAX232N kein Signal durchzugeben
Werd ihn gleich mal austauschen
Nun stellt sich mir aber noch die Frage wie schnell so ein MAX232N zu schrotten ist??
irgendwie scheint der MAX232N nicht zu funktionieren, dabei habe ich ihn genauso angeschlossen wie hier beschrieben http://www.rn-wissen.de/index.php/Bi...ung_max232.gif
Brauche ich eventuell andere Kondensatoren ?
Andere Kondensatoren brauchst du nicht, die passen schon.
Du hast hoffentlich nicht vergessen auf Pin 15, 16 die Stromversorgung anzuschließen.
RX und TX richtig drauf?
Ok das wars..hab den VCC und den GND vergessen anzuschließen
Vielen Dank für deine Hilfe
Lesezeichen