long kennt der avr-gcc schon. Wenn er es nicht kennen würde, würde beim Kompilieren schon ein Fehler kommen.
Wo der Fehler liegen könnte, wäre die Bitgröße von der Variable bit. Die hat nur 16 Bit, du shiftest aber mit 20. Da kann ich jetzt aber nicht genau sagen, wo das Problem ist. Versuche einfach mal, den Fehler mit casts zu beseitigen, also einmal das 1 mit (uint32_t) casten oder das bit, oder beides. Da kann ich dir leider nicht sagen, wo das Problem genau ist.
Lesezeichen