mir ist grade bei deiner init() eine unstimmigkeit aufgefallen, kannst du SICHER sagen das gesendete bytes auch SO ankommen wie sie sollen ?
Code:
UBRRL = (TAKT / (16UL * BAUD)) -1;
in
UBRR = (TAKT / (16UL * BAUD)) -1;
ändern , ist schliesslich ein 16bit register und du spricht nur das low-byte an
versuch auch mal alternativ
UBRRH = (unsigned char)(baud>>8);
UBRRL = (unsigned char)baud;
so wird es im datenblatt EMPFOHLEN
wenn jetzt nix geht, sag mir noch fix welchen prozessor du hast, dann probier ichs selber, prüfe nochmal deine hardware, by the way ... wie sieht DIE eigentlich aus ?
Lesezeichen