So läuft das nich.
Denken in C, schreiben in C, testen in C, läuft.
Und das ist bei <4kb RAM auch gut soIn C kommt es darauf an, was ich für einen Typ gewählt habe und dann geht es oder auch nicht.
So nebenbei: Magst du Pointer?
Hm, 0x01 << 8 wird zu 0x100, +1 sollte dann schon 512 werden.x := 1 SHL 8 + 1; in Pascal kommt dabei 257 heraus
x = 1 << 8 + 1; in C kommt dabei 512 heraus.......
Was tut Pascal dann bloss bei 1 SHL 1?
Nimm uint8_t x (ein byte). Ein if(x) is true falls x>0.Apropos wahr, da fällt mir doch gleich der Typ Boolen ein, den es in C nicht gibt.
Auch hier habe ich immer wieder unterschiedliche Varianten gefunden, was die Declaration von TRUE und FALSE betrifft.
ist TRUE jetzt 1 oder !=0 oder !=FALSE ?
Simple as shit
Oder if (x & 0x01) (ein bit), nur true wenn Bit gesetzt.
Ist aber alles evtl. Geschmacksache und aus welcher Richtung man wohl so kommt.
Auf nem größeren Gerät tät ich mir das auch nicht antun, aber auf nem Controller für € 2,00 mit 512 byte RAM und evtl. noch 1MHz macht das so schon Sinn.
Auf so einem Gerät würde ich mich nicht mit Pascal ärgern tun wollen
PS: könnte man in Pascal eine ISR wirklich vollständig durch inline Assembler ersetzen? Inkl. RETI (oder auch ohne)?
Lesezeichen