Du könntest versuchen einen Timer laufen zu lassen, der eben immer dann einen Overflow-Interrupt erzeugt, wenn du ein neues Bit senden willst. Du überprüfst dann deine Bitfolge (Nachricht) und schaltest die PWM ein oder aus je nachdem welchen Wert das nächste Bit hat.
Dies macht das ganze auch flexibler, du kannst zwischen den Interrupts dann andere Aufgaben mit der CPU erledigen, weil diese dann nicht einfach permanent NOP-Befehle abarbeitet.
Lesezeichen