void OledUpdate() { int ipag; // int icol; // ALA unused BYTE * pb; pb = rgbOledBmp; for (ipag = 0; ipag < cpagOledMax; ipag++) { PORTClearBits(prtDataCmd, bitDataCmd); /* Set the page address */ Spi1PutByte(0x22); //Set page command Spi1PutByte(ipag); //page number /* Start at the left column */ Spi1PutByte(0x00); //set low nybble of column Spi1PutByte(0x10); //set high nybble of column PORTSetBits(prtDataCmd, bitDataCmd); /* Copy this memory page of display data. */ OledPutBuffer(ccolOledMax, pb); pb += ccolOledMax; } }
void OledUpdate() { int gpioReg = 0; int ipag; uint8_t * pb; pb = rgbOledBmp; gpioReg = XGpio_DiscreteRead(&gpioInstance, 1); for (ipag = 0; ipag < cpagOledMax; ipag++) { XGpio_DiscreteWrite(&gpioInstance, 1, gpioReg & ( RESET_MASK | VDD_CTRL_MASK | VBAT_CTRL_MASK )); /* Set the page address */ Spi2PutByte(0x22); //Set page command Spi2PutByte(ipag); //page number /* Start at the left column */ Spi2PutByte(0x00); //set low nybble of column Spi2PutByte(0x10); //set high nybble of column XGpio_DiscreteWrite(&gpioInstance, 1, gpioReg | DATA_CMD_MASK); /* Copy this memory page of display data. */ OledPutBuffer(ccolOledMax, pb); pb += ccolOledMax; } }