DMA+I2C的方式发送数据到OLED,坐标设置的问题
大佬们,问个比较小白的问题,我之前用的硬件I2C的方式驱动SSD1306,但是感觉显示数据的过程还是比较占用系统时间。所以我就想改为DMA+I2C的方式,参考了“STC32_U8G2_I2C_DMA_OLED”,但是没看明白是怎么设置显示坐标的。例如,假设要在坐标(0,0)处显示"100",在坐标(20,1)处显示"200",在坐标(30,2)处显示"300"。是把坐标和显示数据都存入缓存还是先设置坐标呢
先设置吸入地址,再DMA写入显示数据。 梁工 发表于 2023-5-6 14:44
先设置吸入地址,再DMA写入显示数据。
你好梁工,可能我描述的不清楚。我的意思是像素点在屏幕上的显示坐标。比如硬件I2C的设置坐标点有以下函数:
void OLED_Set_Pos(unsigned char x, unsigned char y)
{ OLED_WR_Byte(0xb0+y,OLED_CMD);
OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD);
OLED_WR_Byte((x&0x0f),OLED_CMD);
}
那么DMA+I2C的方式是如何把要显示的数据在OLED屏幕上和坐标对应的?
iop789zxc 发表于 2023-5-7 11:49
你好梁工,可能我描述的不清楚。我的意思是像素点在屏幕上的显示坐标。比如硬件I2C的设置坐标点有以下函 ...
设置坐标点,就是设置写入地址,先写入地址,然后DMA写入数据。
页:
[1]