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".
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);
}
FirstTry.zip (enthält alle files) beigeschlossen!
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!
Lesezeichen