Hallo Forum,
ich arbeite zur Zeit mit dem (an sich) recht praktischen Crumb2560-Board
von Chip45.com. Leider besteht das Problem, das es mir nicht gelingen
will die serielle Kommunikation mit dem PC zum laufen zu bringen.
Von der Platine wird angeblich der USART1 mit dem CP2102-Chip als
USB-Port bereitgestellt. So lässt sich die Platine direkt ohne weiteres
am Rechner anschließen, und mittels einer virtuellen Konsole
(/dev/ttyUSB0) die Daten auslesen. Verwendet wurde dazu HTerm.
Das CKDIV8-Fusebit wurde gelöscht, damit der externe 16Mhz-Quarz auch
voll genutzt wird. Die korrekte Kernfrequenz würde mittels blinkenden
LEDs überprüft.
Am entsprechenden Sende-Pin (PD3) liegen 5V an.
Sämtliche Einstellungen sind doppelt gecheckt, und stammen aus dem
Handbuch bzw. den reichlich vorhandenen Tutorials im Internet. Hier die
relevanten Codestücke:
1 | #define F_CPU 16000000
|
2 | #define BAUD 38400
|
3 | #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1)
|
4 | #define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))
|
5 | #define BAUD_ERROR ((BAUD_REAL*1000)/BAUD)
|
6 |
|
7 | #if ((BAUD_ERROR<980) || (BAUD_ERROR>1020))
|
8 | #error Baudratenfehler groesser als 2% und damit zu hoch!
|
9 | #endif
|
10 |
|
11 | void initUSART(uint16_t ubrr){
|
12 | /* Set baud rate */
|
13 | UBRR1H = (uint8_t)(ubrr >> 8);
|
14 | UBRR1L = (uint8_t)(ubrr & 0xFF);
|
15 | /* Enable transmitter */
|
16 | UCSR1B |= _BV(TXEN1);
|
17 | }
|
18 |
|
19 | void USART_Transmit( uint8_t data )
|
20 | {
|
21 | while ( !( UCSR1A & (1<<UDRE1)) );
|
22 | UDR1 = data;
|
23 | }
|
Es kommen aber keine Daten am PC an. Woran könnte das liegen? Was könnte
ich noch testen?
Beim Empfang (Aktivierung von RXEN1) tut sich ebenfalls nichts.
Allerdings scheint die Einstellung korrekt zu sein, da beim weiteren
Testen am Port PD2 mit einem Taster ein Signal erzeugt wurde. Dieses hat
der Controller als Datenempfang interpretiert und eine LED getoggelt.
Bin echt verzweifelt...
Die Dokumentation vom Crumb-Board ist auch recht dünn...
Wie könnte man den USB-Wandler direkt testen?
Vielen Dank für die Antworten und mit Grüßen
flying_dutchman