Zitat Zitat von oberallgeier Beitrag anzeigen
War ja gut, wenns Dir hilft. Eine Sache hatte ich nicht dokumentiert, die Variablendefinition:

typedef unsigned short u16;
typedef signed short s16;

gehört natürlich auch in den Header. Hatte ich vergessen, weils bei mir eine allgemeine Bibliothek ist. Sorry.
Evtl. möchtest du dir Mal int16_t, uint16_t und ihre großen/kleinen Geschwister aus stdint.h ansehen. Das ist seit C99 der Weg um plattformunabhängig(er) mit Variablen einer bestimmten Mindestbreite zu arbeiten.

@Gerhard: So ist das mit den kleinen µCs. Alles muss man selbst machen. Typischerweise lässt man einen Timer mit 10..1000Hz laufen, zählt im Interrupt die Zeit hoch und kann gleich noch Dinge erledigen die ein exaktes Timing erfordern.

mfG,
Markus