Das sind casts, also Typumwandlungen bzw. besagen, in welchem Typ berechnet wird.
F_CPU passt üblicherweise nicht in 16 Bit rein, daher wird die Berechnung in 32 Bit gemacht. Das Ergebnis past in 16 Bit rein (sollte es zumindest, wenn nicht, hat man unsinnige Werte angegeben). Je nachdem, um welche Objekte es sich in der Zuweisung handelt, wird die Auswertung auf dem Host erledigt (zur Compilezeit durch constant folding etc) oder zur Laufzeit durch das Programm. Letzteres, falls einer der Werte zur Compilezeit nicht bekannt ist.
Hast du einen Baud-Kristall? Ansonsten ist evtl. die Toleranz zu groß und du must im double speed mode betreiben. Ist die Gegenseite richtig eingestellt?
AVR-Baudraten-Rechner (JavaScript)
Lesezeichen