OpenEdv-开源电子网

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

画点函数看不懂,求指导。。。

[复制链接]

46

主题

329

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1544
金钱
1544
注册时间
2012-4-9
在线时间
80 小时
发表于 2012-6-27 16:14:25 | 显示全部楼层 |阅读模式
想请问下,参数pos,bx,还有temp是起什么作用的?还有红色语句不懂什么意思,求解。

 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;    
}
STM32
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-6-27 16:41:19 | 显示全部楼层
这些都是根据自己的定义做的.
在不完全手册应该讲的够明白了吧?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-6-27 16:41:39 | 显示全部楼层
也就是GRAM,你怎么规定的,然后就怎么去操作即可.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

71

主题

467

帖子

0

精华

高级会员

Rank: 4

积分
800
金钱
800
注册时间
2011-11-18
在线时间
5 小时
发表于 2012-6-27 16:54:57 | 显示全部楼层
看不懂最好自己按自己理解的自己写一个代码,这样会好很多,我的经验是看人家的代码没自己写得快。而且学习得更牢。
我的工作就是天天在玩
回复 支持 反对

使用道具 举报

2

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2012-5-7
在线时间
8 小时
发表于 2012-6-27 21:16:38 | 显示全部楼层
回复【4楼】chinafox:
---------------------------------
赞成
耐心做事,好好做人。O(∩_∩)O!
回复 支持 反对

使用道具 举报

46

主题

329

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1544
金钱
1544
注册时间
2012-4-9
在线时间
80 小时
 楼主| 发表于 2012-6-28 09:31:46 | 显示全部楼层
恩,谢谢各位。
STM32
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-7-4
在线时间
3 小时
发表于 2018-10-4 18:36:10 | 显示全部楼层
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;      }
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-7-4
在线时间
3 小时
发表于 2018-10-4 18:41:16 | 显示全部楼层
没有细看原子的教程,我的理解为这个比较简单
void OLED_DrawPoint(u8 x,u8 y,u8 t)      //输入X坐标,Y坐标,t表示是显示还是不显示
{
u8 pos,bx,temp=0;
if(x>127||y>63)return;//超出范围了.
pos=7-y/8;                                                //输入的Y坐标要除以8,以定位到要改变的那个点的相应字节,因为是以字节形式来写入的
bx=y%8;                                                    //该点在该字节中的位置
temp=1<<(7-bx);                                     //把该点写入temp
if(t)OLED_GRAM[x][pos]|=temp;             //如果t为1就把该点写1
else OLED_GRAM[x][pos]&=~temp;       //如果t为0就把该点写0
}
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2018-11-26
在线时间
0 小时
发表于 2018-11-26 17:21:13 | 显示全部楼层
手册里写了,填充由列地址指针指向的整列(8位)。数据位D0写入顶行,而数据位D7写入底行。 分页是从PAGE7~PAGE0的,从下往上数7在底部,0在顶部 画点在【100】【40】分在第二页,40在第二页的底部第一个,所以要移7位
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2020-2-14
在线时间
23 小时
发表于 2020-3-16 16:30:14 | 显示全部楼层
正点原子 发表于 2012-6-27 16:41
这些都是根据自己的定义做的.
在不完全手册应该讲的够明白了吧?

这个手册在哪里  我怎么没找到
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-22 15:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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