Hallo zusammen, ich versuche gerade von einem Mega32 Daten an den PC zu schicken. Ich habe ein USB zu Seriel Konverter. Den 32er betreibe ich mit 16MHz. TXD habe ich auf Pin3(RXD) und GND auf Pin7 vom Konverter. Wenn ich per Terminal versuche Daten zu empfangen öffnet zwar der COM Port aber es kommt nichts an. Könnte mir jemand helfen ob es ein Verdrahtungsfehler ist oder Software. Baudrate 9600 void uartPutChar(char data) { while ( !( UCSRA & (1<<UDRE)) ) ; /* Put data into buffer, sends the data */ UDR = data; } //Init UBRRH = 207;//(unsigned char)(BAUD>>8); UBRRL = 103;//(unsigned char)BAUD; UCSRB = (1<<TXEN); UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); Gruß Andy
Ich wuerd sagen der Baudratenteiler ist falsch. Schau doch mal mit dem Oszilloskop wie lange ein Bit tatsaechlich ist.
Hi >UBRRH = 207;//(unsigned char)(BAUD>>8); >UBRRL = 103;//(unsigned char)BAUD; Das wäre 0xCF6B. Der richtige Wert ist 0x00CF. Du solltest deinen Compiler rechnen lassen. MfG Spess
UBRRL=(uint8_t)(F_CPU/(BAUD*16L))-1; // Baudrate festlegen UBRRH=(uint8_t)((F_CPU/(BAUD*16L))-1)>>8; wäre das so richtig, wenn ja funktionierts au net.
>TXD habe ich auf Pin3(RXD) Und am ATmega ist hoffentlich ein MAX232 dazwischen. > und GND auf Pin7 vom Konverter. GND ist Pin5.
Dann fehlt dir aber der "Konverter" von CMOS Logik nach RS232. Das mag zwar manchmal funktionieren, die feine Englische Art ist es aber nicht. Insofern wirst du noch einen entsprechenden Baustein aus der MAX2xx Famile brauchen.
Verdammt bin in der Spalte verrutscht http://de.wikipedia.org/wiki/RS-232 hab die Pins vom 25pol genommen.
Andy schrieb: > Hab jetzt einen MAX232 dazwischen geschaltet, aber immer noch nichts. Dann hast du etwas falsch gemacht ;). Hier (https://www.mikrocontroller.net/articles/AVR-Tutorial:_UART) findest du einen Beschaltungsplan. Im Übrigen kannst du das Kapitel ruhig einmal durchgehen.
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.