awesome101
Well-known member
Ok I've tried literally everything including using the GPIOC_PDOR register and this is still not working.
void write8special(uint8_t c) {
WR_ACTIVE;
GPIOC_PSOR = c;
GPIOC_PCOR = (~c & 0xff);
WR_IDLE;
//GPIOC_PCOR = 0xff; // probably not needed.
}
void write8special(uint8_t c) {
WR_ACTIVE;
noInterrupts();
GPIOC_PDOR = (GPIOC_PDOR & 0xffffff00) | c;
interrupts();
WR_IDLE;
}
void write8special(uint8_t c) {
digitalWriteFast(TFT_WR, LOW);
*((volatile uint8_t *)(&GPIOC_PDOR)) = c;
digitalWriteFast(TFT_WR, HIGH);
}
...
for(y=h; y>0; y--) {
for(x=w; x>0; x--){
write8special(hi);
write8special(lo);
}