Board logo

标题: CodeWarrior 中如何用C来判断寄存器的某一位 [打印本页]

作者: jero19    时间: 2006-2-21 18:47     标题: CodeWarrior 中如何用C来判断寄存器的某一位

如何用C来判断寄存器的某一位
作者: sampro    时间: 2006-2-21 19:08

可以用循环啊
作者: jero19    时间: 2006-2-21 19:11

谢谢!但我只是判断某一位是1还是0,需要用循环吗?
作者: jero19    时间: 2006-2-21 19:20

例如:我想判断GPIO_A_DR寄存器的0位是高电平还是低电平,我写成

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

但感觉总是不对,不知道为什么
作者: guantingwei    时间: 2006-2-22 11:42

12: if ( PTA & 0x08 ){
0001 070001 [5] BRCLR 3,_PTA,L5 ;abs = 0005
13: NOP;
0004 9d [1] NOP
0005 [5] L5:
14: }
作者: jero19    时间: 2006-2-22 15:04

这好像是单片机的用法,我现在是用DSP56F8346,有高手指点一下。
作者: strongchen    时间: 2006-2-22 15:07

先定义位变量。定义格式可以参考头文件。
作者: jero19    时间: 2006-2-22 15:44

按如下定义了位变量
#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,麻烦写一句例子,谢谢!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0