OpenEdv-开源电子网

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

大神在吗?在线等

[复制链接]

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-7-10
在线时间
16 小时
发表于 2018-9-13 11:50:15 | 显示全部楼层 |阅读模式
5金钱
我现在在看OLED屏实验,里面有几个疑惑:
画点函数:
void OLED_DrawPoint(u8 x,u8 y,u8 t)
{
u8 pos,bx,temp=0;
if(x>127||y>63)return;//超出范围了.
pos=7-y/8;
bx=y%8;
temp=1<<(7-bx);
if(t)OLED_GRAM[x][pos]|=temp;
else OLED_GRAM[x][pos]&=~temp;
}


temp=1<<(7-bx); 这一行,
1) 为什么要用 7-bx ? (这个我估计是因为Y坐标是跟实际硬件反了,所以用7-BX,但是为什么要用7来减?)
2)这里的 7 是指第几页 ? 还是 页里的 第几行?(跟上面问题一里提起的)
3 ) 为什么要左移?




正点客服说要我自己试验,我没有 OLED屏,而且急着想知道,不想等买了屏再研究!

最佳答案

查看完整内容[请看2#楼]

取模就是除以行后余下的数,这不就是某一行的第几位吗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

35

主题

560

帖子

2

精华

资深版主

Rank: 8Rank: 8

积分
17784
金钱
17784
注册时间
2018-3-3
在线时间
523 小时
发表于 2018-9-13 11:50:16 | 显示全部楼层
pig881 发表于 2018-9-14 10:18
pos=7-y/8;//决定是哪一行  这个可以理解,  可是:

bx=y%8;//决定是哪一行的第几位      这个为什么 ...

取模就是除以行后余下的数,这不就是某一行的第几位吗
/*
*
*
*
*
*
*/
回复

使用道具 举报

35

主题

560

帖子

2

精华

资深版主

Rank: 8Rank: 8

积分
17784
金钱
17784
注册时间
2018-3-3
在线时间
523 小时
发表于 2018-9-13 12:09:39 | 显示全部楼层
本帖最后由 Psheng 于 2018-9-13 12:29 编辑

qw.jpg
要结合刷新函数来看
y代表行数 我们定义的显存是u8类型128*8的 所以一个数组元素代表8个像素长 1个像素宽
        pos=7-y/8;//决定是哪一行
        bx=y%8;//决定是哪一行的第几位
        temp=1<<(7-bx);//赋值  越小的位在越上面 ,所以要偏移上去,到时候调用刷新函数也是高位代表小的坐标

23.jpg


/*
*
*
*
*
*
*/
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-7-10
在线时间
16 小时
 楼主| 发表于 2018-9-13 12:11:10 | 显示全部楼层
Psheng 发表于 2018-9-13 12:09
要结合刷新函数来看

不太明白,可以说清楚一点吗?这个跟刷新有什么关系
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-7-10
在线时间
16 小时
 楼主| 发表于 2018-9-13 17:46:28 | 显示全部楼层
本帖最后由 pig881 于 2018-9-13 21:22 编辑

基本明白了。。。
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-7-10
在线时间
16 小时
 楼主| 发表于 2018-9-14 10:18:24 | 显示全部楼层
Psheng 发表于 2018-9-13 12:09
要结合刷新函数来看
y代表行数 我们定义的显存是u8类型128*8的 所以一个数组元素代表8个像素长 1个像素 ...

pos=7-y/8;//决定是哪一行  这个可以理解,  可是:

bx=y%8;//决定是哪一行的第几位      这个为什么是用取模呢?
回复

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-7-10
在线时间
16 小时
 楼主| 发表于 2018-9-14 11:41:39 | 显示全部楼层
Psheng 发表于 2018-9-13 11:50
取模就是除以行后余下的数,这不就是某一行的第几位吗

谢谢大神啦!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 23:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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