OpenEdv-开源电子网

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

C 求助

[复制链接]

83

主题

349

帖子

1

精华

高级会员

Rank: 4

积分
908
金钱
908
注册时间
2012-8-10
在线时间
13 小时
发表于 2013-3-25 20:14:36 | 显示全部楼层 |阅读模式
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;           //此处“&”,同问
}

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

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2013-3-25 20:16:08 | 显示全部楼层
就是位操作呀,本来为1的将保持为1,&都为1的保持为1.
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12141
金钱
12141
注册时间
2013-3-8
在线时间
1289 小时
发表于 2013-3-25 20:20:48 | 显示全部楼层
回复【楼主位】电子狼:
---------------------------------
 OLED_GRAM[x][pos]|=temp;等价于 OLED_GRAM[x][pos]=OLED_GRAM[x][pos]|temp;
OLED_GRAM[x][pos]&=~temp;等价于OLED_GRAM[x][pos]=OLED_GRAM[x][pos]&(~temp);
回复 支持 反对

使用道具 举报

83

主题

349

帖子

1

精华

高级会员

Rank: 4

积分
908
金钱
908
注册时间
2012-8-10
在线时间
13 小时
 楼主| 发表于 2013-3-25 20:49:11 | 显示全部楼层
回复【3楼】augustedward:
---------------------------------
额,我知道等价这个
回复 支持 反对

使用道具 举报

83

主题

349

帖子

1

精华

高级会员

Rank: 4

积分
908
金钱
908
注册时间
2012-8-10
在线时间
13 小时
 楼主| 发表于 2013-3-25 20:49:58 | 显示全部楼层
回复【2楼】sun1238898:
---------------------------------
我想问,这个地方为什么要这么处理数据,
回复 支持 反对

使用道具 举报

51

主题

1455

帖子

3

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2613
金钱
2613
注册时间
2011-1-25
在线时间
176 小时
发表于 2013-3-25 23:33:08 | 显示全部楼层
为了能够保持之前的值。。
一直努力就很好。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-22 12:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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