找回密码
 立即注册
查看: 578|回复: 3

DMA+I2C的方式发送数据到OLED,坐标设置的问题

[复制链接]

该用户从未签到

2

主题

4

回帖

50

积分

注册会员

积分
50
发表于 2023-5-6 13:06:47 | 显示全部楼层 |阅读模式
大佬们,问个比较小白的问题,我之前用的硬件I2C的方式驱动SSD1306,但是感觉显示数据的过程还是比较占用系统时间。所以我就想改为DMA+I2C的方式,参考了“STC32_U8G2_I2C_DMA_OLED”,但是没看明白是怎么设置显示坐标的。
例如,假设要在坐标(0,0)处显示"100",在坐标(20,1)处显示"200",在坐标(30,2)处显示"300"。是把坐标和显示数据都存入缓存还是先设置坐标呢

回复 送花

使用道具 举报

该用户从未签到

46

主题

3036

回帖

6843

积分

超级版主

积分
6843
发表于 2023-5-6 14:44:36 | 显示全部楼层
先设置吸入地址,再DMA写入显示数据。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

2

主题

4

回帖

50

积分

注册会员

积分
50
 楼主| 发表于 2023-5-7 11:49:00 | 显示全部楼层
梁工 发表于 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屏幕上和坐标对应的?

点评

设置坐标点,就是设置写入地址,先写入地址,然后DMA写入数据。  详情 回复 发表于 2023-5-7 16:01
回复 支持 反对 送花

使用道具 举报

该用户从未签到

46

主题

3036

回帖

6843

积分

超级版主

积分
6843
发表于 2023-5-7 16:01:01 | 显示全部楼层
iop789zxc 发表于 2023-5-7 11:49
你好梁工,可能我描述的不清楚。我的意思是像素点在屏幕上的显示坐标。比如硬件I2C的设置坐标点有以下函 ...

设置坐标点,就是设置写入地址,先写入地址,然后DMA写入数据。
回复 支持 反对 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2024-5-17 19:38 , Processed in 0.058130 second(s), 42 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表