标题: 请教大家一个关于OLED坐标设置的C语言程序问题 [打印本页]

作者: gaoky    时间: 2020-4-21 16:46
标题: 请教大家一个关于OLED坐标设置的C语言程序问题
如题所示的这个程序,显示页数的可以看懂,但下面x的就有点看不懂了,如果取列数的高四位然后右移四位再或0x10结果就是0x1f,查了手册显示是起始列的高位最后一个数,然后取低位地址的高四位。正好是低位地址的最后一位。void OledSetPos(uchar x, uchar y)
{         
        OledWriteByte(0xb0+y,OLED_CMD);    //设置第几页
        OledWriteByte(((x&0xf0)>>4)|0x10,OLED_CMD);
        OledWriteByte((x&0x0f),OLED_CMD);


作者: f556    时间: 2020-4-21 18:22
x实际上是列了,大部分人更喜欢x----row行,y-----col列。列一般128或132列,必须8位才够用,所以分高4位、低4位。分两次指令才能传完。(x&0xf0)>>4)|0x10取高4位并在前补1。
作者: gaoky    时间: 2020-4-22 15:46
f556 发表于 2020-4-21 18:22
x实际上是列了,大部分人更喜欢x----row行,y-----col列。列一般128或132列,必须8位才够用,所以分高4位、 ...

不太明白为什么要补1呢
作者: 川人在柳    时间: 2021-8-27 23:57
f556 发表于 2020-4-21 18:22
x实际上是列了,大部分人更喜欢x----row行,y-----col列。列一般128或132列,必须8位才够用,所以分高4位、 ...

不太明白为什么要补1呢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1