OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7577|回复: 6

关于oled画每个坐标点的问题

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-11-1
在线时间
3 小时
发表于 2022-11-16 00:10:50 | 显示全部楼层 |阅读模式
1金钱

        为什么这个数组的画点的公式是这样的呢,如果我们想要画点,那么不应该是OLED_GRAM[x][y/8]=1<<(7-y%8)么,比如我想要画(0,0)点,那么就是
OLED_GRAM[0][0]|=(1 << 7),这里的坐标不是很理解,望解答





正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

54

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1040
金钱
1040
注册时间
2022-4-20
在线时间
373 小时
发表于 2022-11-16 09:46:06 | 显示全部楼层
本帖最后由 驭剑的秘密 于 2022-11-16 10:01 编辑

因为每一个OLED_GRAM[n][m]可控制八个Y轴方向上的像素点,你多带入几个值进去就知道了,比如你Y处于0-7的时候,m始终为0,当Y在8-15的时候m为1,你举的例子应该是你改成了(7-y%8)对吧,用了就会发现像素点对不上,比如0,5这个点,算出来本该是0010 0000,现在变成了0000 0100,之前我也在这里迷惑过,后来想通了,他控制像素点应该是从低位开始的
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8462
金钱
8462
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-11-16 09:47:17 | 显示全部楼层
本帖最后由 LcwSwust 于 2022-11-16 09:49 编辑

最好是工作时间发贴,不然要待审核.
"这样"是哪样,看不到.
GRAM一个字节对应的OLED是横向8点还是纵向8点?高低位对应哪一边?
二维数组我个人习惯是y在前x在后,便于转换为一维数组.
专治疑难杂症
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-11-1
在线时间
3 小时
 楼主| 发表于 2022-11-17 22:46:21 | 显示全部楼层
LcwSwust 发表于 2022-11-16 09:47
最好是工作时间发贴,不然要待审核.
"这样"是哪样,看不到.
GRAM一个字节对应的OLED是横向8点还是纵向8点? ...

     不好意思,发帖的时候图片没有传上去,现在应该传上去了,我纠结的地方其实是OLED_GRAM的y坐标。oled一个字节是应该是纵向8点,我只是比较纠结,我说说我的想法,就是说比如我在(0,0)坐标画一个点,既然我已经知道是在(0,0)上画一个点了,那我的坐标就应该是在OLED_GRAM[0][0]这个坐标上的某一位上画点,那我就应该是给OLED_GRAM[0][0]赋值,我想要给纵向的第二个字节画点那我应该是给OLED_GRAM[0][1]这个坐标画点,所以我推出来的公式应该是OLED_GRAM[x][y/8]|=1<<(7-y%8),而开发指南上面告诉我的公式是

OLED_GRAM[x][7 -y/8]|=1<<(7-y%8),所以我就有点儿纠结,这到底是怎么画的,按照这个公式推出来我要在(0,0)坐标画点的话,那其实就是给OLED_GRAM[0][7]这个坐标赋值了,这样其实就感觉怪怪的,也有一点不理解。

oled讲解图片

oled讲解图片
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-11-1
在线时间
3 小时
 楼主| 发表于 2022-11-17 23:09:10 | 显示全部楼层
驭剑的秘密 发表于 2022-11-16 09:46
因为每一个OLED_GRAM[n][m]可控制八个Y轴方向上的像素点,你多带入几个值进去就知道了,比如你Y处于0-7的时 ...

1668695396830.png

    可能之前表述的有些问题,不好意思,我能理解后面的每一位的意思,我只是对于OLED_GRAM[x][y]这个后面的坐标比较纠结,按照我的思路首先我要在(0,0)这个坐标给他赋值的话,那按照我的理解应该就是给OLED_GRAM[0][0]这个坐标赋值,那就应该是OLED_GRAM[0][0] 这个坐标,而不是OLED_GRAM[0][7]这个坐标吧

回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8462
金钱
8462
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-11-18 10:12:05 | 显示全部楼层
zhongguoCr7 发表于 2022-11-17 22:46
不好意思,发帖的时候图片没有传上去,现在应该传上去了,我纠结的地方其实是OLED_GRAM的y坐标。ole ...

哦,其实就是可能屏幕旋转了180度是吧?有时候为了画电路方便就是需要将显示屏倒着装,所以程序中加一点点处理,你以为的第0行其实对应的是第7行,原来低位在上方,现在就变成了下方。



专治疑难杂症
回复

使用道具 举报

7

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2018-6-20
在线时间
45 小时
发表于 2023-1-13 09:53:23 | 显示全部楼层
http://47.111.11.73/forum.php?mo ... d=341486&extra=
我之前也有点困扰,和您分享一下我的思考,也请您多多指正
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 20:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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