Hallo,
ich habe an Euch eine große Bitte: Kann jemand das folgende Programm (nur kurz!) testen?
Es müsste (besser: sollte!) nach dem Laden blinken, dann 10 Zeilen mit a ... z zum PC senden.
Die Prog.-Frakmente stammen noch von der "Urversion".
FirstTry.zip (enthält alle files) beigeschlossen!Code:/* test.c Test zum Senden - asuro.h + -.c verkleinert und SerWrite(j) angepasst! Programm soll 10 Zeilen mit a ... z senden. SerWrite() enthaelt nur "wenn Speicher leer, dann senden"! */ #include "asuro.h" int main(void) { unsigned char i, j; Init(); for(i=0;i<200;i++) { for(j=0;j<20;j++) Sleep(0xFF); StatusLED(RED); for(j=0;j<20;j++) Sleep(0xFF); StatusLED(GREEN); } UCSRB |= 0x08; // Sender ein UCSRA |= 0x40; // 'clear' transmitter flag for(i=1;i<11;i++) { for(j='a';j<='z';j++) { SerWrite(j); } SerWrite('\n'); SerWrite('\r'); } while (!(UCSRA & 0x40)) ; // warten bis Uebertragung fertig UCSRB &= ~0x08; // Sender aus StatusLED(YELLOW); while(1) ; return 0; } --------------- /* asuro.c */ #include "asuro.h" volatile unsigned char count72kHz; SIGNAL (SIG_OUTPUT_COMPARE2) { count72kHz ++; } void Init (void) { TCCR2 = (1 << WGM21) | (1 << COM20) | (1 << CS20); OCR2 = 0x6E; TIMSK |= (1 << OCIE2); UCSRA = 0x00; UCSRB = 0x00; UCSRC = 0x86; UBRRL = 0xCF; DDRB = IRTX | LEFT_DIR | PWM | GREEN_LED; DDRD = RIGHT_DIR | FRONT_LED | ODOMETRIE_LED | RED_LED; TCCR1A = (1 << WGM10) | (1 << COM1A1) | (1 << COM1B1); TCCR1B = (1 << CS11); //ADCSRA = (1 << ADEN) | (1 << ADPS2) | (1 << ADPS1); StatusLED(GREEN); sei(); } inline void StatusLED(unsigned char color) { if (color == OFF) {GREEN_LED_OFF; RED_LED_OFF;} if (color == GREEN) {GREEN_LED_ON; RED_LED_OFF;} if (color == YELLOW) {GREEN_LED_ON; RED_LED_ON;} if (color == RED) {GREEN_LED_OFF; RED_LED_ON;} } void SerWrite(unsigned char data) { while(!(UCSRA & 0x20)) ; UDR = data; } void Sleep(unsigned char time72kHz) { count72kHz = 0; while (count72kHz < time72kHz); }
Auswertung: Kommen _nicht_ alle Zeichen an, dann sollte man 'was ändern!)
Vielen Dank schon 'mal im voraus!
cu Helmut
PS: Heute morgen konnte ich sehr über diverse Artikel lachen!







Zitieren

Lesezeichen