首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

CodeWarrior 中如何用C来判断寄存器的某一位

CodeWarrior 中如何用C来判断寄存器的某一位

如何用C来判断寄存器的某一位
可以用循环啊
谢谢!但我只是判断某一位是1还是0,需要用循环吗?
例如:我想判断GPIO_A_DR寄存器的0位是高电平还是低电平,我写成

if((GPIO_A_DR & 0X0001) == 0X0001

但感觉总是不对,不知道为什么
12: if ( PTA & 0x08 ){
0001 070001 [5] BRCLR 3,_PTA,L5 ;abs = 0005
13: NOP;
0004 9d [1] NOP
0005 [5] L5:
14: }

 边凿磨边用
 
 经验同分享
这好像是单片机的用法,我现在是用DSP56F8346,有高手指点一下。
先定义位变量。定义格式可以参考头文件。
海纳百川  有容乃大
按如下定义了位变量
#define GPIO_A_DR_0 0x0001
#define GPIO_A_DR_1 0x0002
#define GPIO_A_DR_2 0x0004
#define GPIO_A_DR_3 0x0008
对吗?
然后我又该如何判断其中某一位是0还是1,麻烦写一句例子,谢谢!
返回列表