Hi ! Ich wollte heute mal die UART library von Peer Fleury ans laufen kriegen aber dieses simple Beispiel: uart_puts("String stored in SRAM"); ... usw. FUNKTIONIERT NICHT ich erhalte immer soeinen Buchstabensalat: <0>|88`?à|Çà<0>Æà8|ð?à<0>Æp?ð|<0>|8<0>|8|88`?à| Çà<0>Æà8|à?à<0>Ç`?à|<0>ðø`Ç<0>`Ç<0>pÇ|<0>|88`?ð|Çð<0 >Æð8|ð?ð<0>Æ`?à|<0>|8<0>|8|88`?à|Çà<0>Æà8|ð? à<0>Æp?ð|<0>àøpÇ<0>`Ç<0>`Ç|<0><0>|88`?ð|Çð<0>Æð8|à?ð <0>Æ`?à|<0>|8<0>|8|88`?à|Çð<0>Æà8|ð?ð<0>Æp?à|<0> àø`Ç<0>`Ç<0>`Ç|<0>|88p?ð|Çð<0>Çð8|à?à<0>Ç`?à|<0>|8 <0>|8|88`?à|Çà<0>Æà8|ð?ð<0>Æ`?à|<0>àø`Ç<0>`Ç<0>pÇ|< 0>|88`?à|Çà<0>Æà8|à?à<0>Ç`?ð|<0>|8<0>|8|88`?à|Ç à<0>Æà8|ð?à<0>Æp?ð|<0>àøpÇ<0>`Ç<0>`Ç|<0>|88p?ð|Çà<0> Çà8|à?à<0>Æp?ð|<0>|8<0>|8|88p?ð|Çà<0>Çð8|à?à <0>Æp?ð|<0>àøpÇ<0>`Ç<0>`Ç|<0>|88`?à|Çð<0>Æà8|à?ð<0> Ç`?à|<0>|8 <0>|8|88p?ð|Çà<0>Çð8|à?à<0>Ç`?ð|<0>ðøpÇ<0>pÇ<0>`Ç|<0 >|88`?à|Çà<0>Æà8|ð?ð<0>Æp?à|<0>|8<0>|8|88`?ð|Çð <0>Çð8|à?à<0>Ç`?à|<0>ðø`Ç<0>pÇ<0>pÇ|<0>|88`?à|Çà<0> Æà 8|ð?ð<0>Ç`?à|<0>|8 <0>|8|88`?à|Çð<0>Æð8|à?à<0>Ç`?ð|<0>àøpÇ<0>`Ç<0>`Ç |<0>|88`?à|Çð<0>Æà8|à?à<0>Ç`?à|<0>|8<0>|8|88`?à |Çð<0>Æà8|à?à<0>Ç`?à|<0>àøpÇ<0>`Ç<0>`Ç|<0>|88p?ð|Çà< 0>Çð8|à?à<0>Æp?ð|<0>|8<0>|8|88p?ð|Çà<0>Æà8|ð? à<0>Æp?à|<0>àø`Ç<0>`Ç<0>`Ç|<0>|88`?à|Çð<0>Æà8|à?à<0 >Æ`?ð|<0>|8<0>|8|88p?ð|Çà<0>Çð8|à?ð<0>Ç`?à|<0>à ø`Ç<0>`Ç<0>pÇ|<0>|88`?ð|Çð<0>Æà 8|ð?à<0>Æp?ð|<0>|8<0>|8|88p?ð|Çð<0>Æð8|ð?ð<0> Æp?à|<0>àøpÇ<0>`Ç<0>`Ç|<0>|88`?à|Çð<0>Æà8|ð?à<0>Ç`?à |<0>|8<0>|8|88`?à|Çà<0>Æà8|à?à<0>Ç`?à|<0>ðø`Ç<0 >`Ç<0>`Ç|<0>|88p?ð|Çà<0>Çð8|à?ð<0>Æp?ð|<0>|8<0>|8| 88p?ð|Çð<0>Æà8|ð?à<0>Ç`?à|<0>àø`Ç<0>`Ç<0>`Ç|<0>|88 p?ð|Çà<0>Æð8|ð?ð<0>Æp?ð|<0>|8<0>|8|88p?ð|Çð <0>Æà8|ð?à<0>Æ`?ð|<0>ðø`Ç<0>`Ç<0>`Ç|<0>|88`?à|Çà<0>Ç ð8|à?ð<0>Æp?ð|<0>|8<0>|8|88`?à|Çð<0>Æà8|à?à< 0>Ç`?à|<0>àøpÇ<0>pÇ<0>`Ç|<0>GC3'§\@Cû7¼C7³ó'0G#[°;;_ã7§\@Cû '¼C7£ã'0ô@G¤ ich habe auch schon andere baud raten versucht hat jemand ne Ahnung wo dran das liegen könnte ? gruß Kofi
Sieht schon nach Baudrate aus. Aber probier mal: uart_puts_P("text oder so was")
Wie stehen denn Deine Fuses? Welchen Controller benutzt Du? Du musst den evtl. Controller umstellen auf den externen Quarz. Benutz mal die Suchfunktion im Forum. Sowas war schon öfter. Auswendig weiss ich das nicht genau. Normalerweise ist der interne mit 1 Mhz voreingestellt.
>>>Sieht schon nach Baudrate aus. >>>Aber probier mal: uart_puts_P("text oder so was") Die Baudrate und die Frequenz habe ich im Code aber richtig eingestellt und in der Simulation funktionirt der Code ... >>>Wie stehen denn Deine Fuses? >>>Welchen Controller benutzt Du? Ich benutze den AT90S8515 der hat keine Fuses für OSC_Select >>>Du musst den evtl. Controller umstellen auf den externen Quarz. Ich habe den clock generator vom board genommen und den Jumper am STK dafür auf OSC_SEL 1,2 gejumpert. >>>Benutz mal die Suchfunktion im Forum. Sowas war schon öfter. Hab leider nichts brauchbares gefunden ;-( >>>Normalerweise ist der interne mit 1 Mhz voreingestellt. Habe den Clock generator auf 3686400 Hz gestellt ... laut Datenblatt: bei 1Mhz 9600 Baud UBRR=6 Relativer Fehler in %: 7,5 bei 3,2768 Mhz 9600 Baud UBRR=20 Relativer Fehler in %: 1,6 ... müsste doch funzen oder nicht ?? #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h> #include "uart.h" #define XTAL_CPU 3686400 /* 4Mhz */ #define UART_BAUD_RATE 9600 /* 9600 baud */ int main(void) { unsigned int c; uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,XTAL_CPU) ); sei(); uart_puts("String stored in SRAM"); uart_puts_P("String stored in FLASH"); uart_putc('\r'); for(;;) c = uart_getc(); if ( c & UART_NO_DATA ) { } else { if ( c & UART_FRAME_ERROR ) { uart_puts_P("UART Frame Error: "); } if ( c & UART_OVERRUN_ERROR ) { uart_puts_P("UART Overrun Error: "); } if ( c & UART_BUFFER_OVERFLOW ) { uart_puts_P("Buffer overflow error: "); } uart_putc( (unsigned char)c ); } } }
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.