|

楼主 |
发表于 2020-8-13 20:25:16
|
显示全部楼层
Arduino U8G2 驱动见下。 ESP32 的HW I2C 有问题,所以选了SW I2C. 需要SPI 的可以参考:https://www.mydigit.cn/forum.php?mod=viewthread&tid=178304
#ifdef GFX_HW_SPI
GFX::GFX() : U8G2_UC1604_JLX19264_F_4W_HW_SPI (U8G2_R0, GFX_SPI_CS_PIN, GFX_SPI_DC_PIN, GFX_SPI_RESET_PIN)
#elif defined(GFX_SW_I2C)
GFX::GFX() : U8G2_UC1604_JLX19264_F_SW_I2C (U8G2_R0, GFX_SW_I2C_SCL, GFX_SW_I2C_SDA)
#else
#error undefined graphics config
#endif
{
u8x8_t *u8x8 = getU8x8();
#ifdef GFX_HW_SPI
DEBUGPRINTLN(E("GFX: HW SPI"));
u8x8_SetPin(u8x8, U8X8_PIN_I2C_CLOCK, GFX_SPI_CLK_PIN);
u8x8_SetPin(u8x8, U8X8_PIN_I2C_DATA, GFX_SPI_DATA_PIN);
#elif defined(GFX_SW_I2C)
u8x8_SetI2CAddress(u8x8, GFX_I2C_ADDR);
DEBUGPRINTF("GFX: SW I2C SCL %d, SCK %d, Adr %02x\r\n",
u8x8_GetPinValue(u8x8, U8X8_MSG_GPIO_I2C_CLOCK),
u8x8_GetPinValue(u8x8, U8X8_MSG_GPIO_I2C_DATA),
u8x8_GetI2CAddress(u8x8));
#endif
begin();
sendF("c", 0xeb); //设置LCD偏置比(亮度设置)
sendF("c", 0x81); //设置SEG偏置电压(对比度)
sendF("c", 0xa3); //设置帧速率
sendF("c", 0x2f); //显示屏功耗设置
clearBuffer();
sendBuffer();
|
|