Gast
#1220275
Hi, ich habe ein Problem. Ich hab den AVR ATmega 644P mit 20Mhz Quarz Oszi. Ziel ist es, den USART zum laufen zu bringen. Hier der Code (C): #include <avr/io.h> // ================================= // ===== USART initialisieren ===== // ================================= void init_usart () { // Baudrate festlegen (Datenblattseite 190) UBRR0L = 129; // USART auf senden und empfangen einstellen UCSR0B = (1<<RXEN0)|(1<<TXEN0); // Stopbits einstellen. (USBSn auf 1 = 2 Stopbits - 0 = 1 Stopbit? UCSR0C = (1<<USBS0)|(3<<UCSZ00); // 8-bit Übertragung UCSR0C |= (1<<UCSZ01) | (1<<UCSZ00); } // ================================= // ===== USART-Sendefunktion ===== // ================================= void USART_Transmit( unsigned char data ) { /* Wait for empty transmit buffer */ while ( !( UCSR0A & (1<<UDRE0)) ) ; /* Put data into buffer, sends the data */ UDR0 = data; } // ================================= // ===== USART-Empfangsfunktion ===== // ================================= unsigned char USART_Receive( void ) { /* Wait for data to be received */ while ( !(UCSR0A & (1<<RXC0)) ) ; /* Get and return received data from buffer */ return UDR0; } int main(void) { init_usart(); while(1) { //USART_Transmit(USART_Receive()); USART_Transmit('a'); } } Der Schaltplan sieht so aus: http://www.avr-praxis.de/forum/attachment.php?attachmentid=887 Bilder auf meinem Steckboard gibt es hier: http://img25.imageshack.us/gal.php?g=img0196r.jpg Spannungen an den Kondensatoren: C3 = 8,40V C4 = 8,90V C5 = 4,47V C6 = 8,90V Phänomen: (Hab einen USB-RS232-Dongle) 1. Stom an => Rote LED leuchtet 2. RSR232 Stecker auf die Buchse ohne USB-Eingesteckt!! => Blaue LED leuchtet schwach und Rote unverändert. 3. USB-Stecker an PC => Blaue leuchtet heller und während der Dongle erkannt wird (dieses Geräusch, wenn man ein USB-Gerät einsteckt) blinkt sie unregelmäßig am hellsten)