Sebastian schrieb:
> *32 sollte dank Byte-tauschen auch deutlich schneller gehen
Byte tauschen? Da der µC eine Hardwaremultiplikation hat, sollte es egal
sein, ob man mit 30 oder 32 multipliziert.
@Michael
Wieso teilst du das ganze auf 3 Funktionen auf?
Ich würde das ganze in einer Funktion machen:
1 | void LCDSetDot(unsigned char x, unsigned char y)
|
2 | {
|
3 | unsigned char xOffset;
|
4 | unsigned short cachePos;
|
5 |
|
6 | xOffset = x % 8;
|
7 | cachePos = (y * 30) + x/8;
|
8 | lcdcache[cachePos] |= (0x80 >> xOffset);
|
9 | lcdcache[cachePos+1] |= (0x80 << (8-xOffset));
|
10 | }
|
Wieso schreibst du eigentlich 2x?
1 | lcdcache[cachePos] |= (data >> xOffset);
|
2 | lcdcache[cachePos+1] |= (data << (8-xOffset));
|