Gast
#178672
Hallo, ich habe vor kurzem die super dokumentierte Avrlib auf http://hubbard.engr.scu.edu/embedded/avr/avrlib/ gefunden und gleich mal ausprobiert. Ich spiele mom mit einem AT90S8515, später dann mit einem ATmega16L. Die Timer.c Library habe ich schon mit Erfolgt in Betrieb. Jetzt möchte ich die uartsw.c benutzen, habe aber so meine Probleme: - MCU = 8515 - F_CPU = 7372800 (7,3728 MHz) - Max232-Tx geht an den ICP-Pin - Max232-Rx kommt von PD5 (wie vorgeschlagen) - als Baudrate habe ich 9600(kann nicht gehn), 14400 oder 38400 eingestellt (in uartswInit() mit z.B. uartswSetBaudRate(14400)) - es werden keine sonstigen Resourcen verwendet Code ist folgender (in main.c): u08 zeichen = 0x00; uartswInit(); /* Initialise uartsw.c */ for(;;) { if(true == uartswReceiveByte(&zeichen)) { outp(~zeichen, PORTA); // hier hängen die LEDs } } ... wenn z.B. ich nur uartswSendByte('x') verwende, werden die Zeichen (x-e) ausgeben. Sobald ich uartswReceiveByte() benutze geht nichts mehr. Die LEDs zeigen an, das immer 0xFF empfangen wird. Das ganze im Studio simuliert, lässt mich etwas bei der buffer-Struktur stutzen, welche von der UARTSW-Lib bentzt wird. Da ist der 'size'-Wert immer etwas komisch, aber das ist wohl eher das Studio hab ich so das gefühl ... wenn man in den Disassembler schaltet sieht nämlich alles ok aus. Hat einer eine Idee, oder vielleicht ein Sample für mich ? Gruß, Jürgen.