MPLAB+PICC 编译器下 如何定义位变量

[复制链接]
 楼主| 天地良芯 发表于 2011-10-29 20:22 | 显示全部楼层 |阅读模式
像51那样直接用bit来定义是不对的,这个是知道,刚开始是也没想着去用位变量,也就没有深入的去追究,这几天在编一个红外的发射程序,想定义一个位变量来做开关,开始没办法就用 uchar  flag来,程序用flag=1来开关,判断时用if(flag==1).....else.....,,,搞得总得不到想要的结果,if的语句貌似肯定不满足,直接跳过只执行else后的语句。后来用flag=0x01,,才勉强让程序按要求跑起来,,,
但这样写总感觉不太好,怪怪的。诸位要用位变量时是怎么解决的,恳请拍砖赐教,
mei326 发表于 2011-10-29 22:09 | 显示全部楼层
可以定义位变量!直接bit xx;就OK!位定义只能全局或静态!否则编译会提示出错~
yewuyi 发表于 2011-10-29 22:40 | 显示全部楼层
bit  flag1;

定义位变量后,会被自动分配为全局变量,即使你在某个函数内部定义的位变量也会被分配为全局变量。
Xuedong 发表于 2011-10-30 14:52 | 显示全部楼层
PICC可以直接使用bit 定义位变量,但是也是占用一个字节的RAM;如果位变量太多的话,可以考虑使用位域。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

38

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部