打印

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

[复制链接]
9885|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
天地良芯|  楼主 | 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

粉丝