Wenn ich jetzt eine feste Variable übertragen will z.B. "j" bekomme ich auf meinem Hyperterminal ein ö angezeigt
Sieht nach Baudrate aus.
Am Anfang hast du 1MHz als F_CPU dann zwischendurch mal 12MHz. Was stimmt denn nun? Denn das ist nicht ganz unwichtig für die korrekte Baudrateneinstellung. Was steht denn im makefile und da 12MHz sicher extern in den Controller gehen, sind die Fuses richtig eingestellt? Wenn das alles stimmt, sollte auch das richtige Zeichen kommen bzw immer das gleiche verkehrte Zeichen.
Wenn mit
Code:
// Warteschleife
void delay_ms(unsigned int ms)
{
unsigned int zaehler;
while (ms) {
zaehler = F_CPU / 5000;
while (zaehler) {
__asm volatile("nop");
zaehler--;
}
ms--;
}
}
//und in der main
delay_ms(1000);
LED an;
delay_ms(1000);
LED aus;
die LED ungefähr im Sekundentakt an und dann wieder aus geht, dann stimmt dein F_CPU mit deiner Theorie überein. Sonst musst du da noch einmal drüber schauen.
sast
Lesezeichen