
AVR 单片机 位操作 疑问???
DDRA1=0;和DDRA=0xfe;和DDRA=0b11111110;是一样的吗?如果不是,那么DDRA1=0等效用DDRA来表示应该是什么?...
DDRA1=0; 和 DDRA=0xfe;和 DDRA=0b11111110; 是一样的吗?
如果不是,那么 DDRA1=0 等效 用DDRA 来表示应该是什么? 展开
如果不是,那么 DDRA1=0 等效 用DDRA 来表示应该是什么? 展开
2个回答
展开全部
这个跟编译器是有关系的,如果使用的是ICC或是WinAVR,那么是不支持你上面那种写法的,如果这两个编译器支持匿名结构体/联合体的话,就可以自己做,如果是使用IAR的,就支持你上面那种写了
DDRA1 = 0;等效于DDRA &= 0xFD,也就是把第一位清零(从第零位开始算起的)
DDRA1 = 0 和DDRA=0xFE不是一样的,DDRA1 = 0;把第一位清零但是不会改变其它位的,DDRA=0xFE则除了第零位,其它位都给置1了,DDRA = 0B11111110和DDRA=0xFE是等效的,一个是十六进制赋值,另一个是二进制赋值
DDRA1 = 0等效于DDRA=0xFD
DDRA1 = 0;等效于DDRA &= 0xFD,也就是把第一位清零(从第零位开始算起的)
DDRA1 = 0 和DDRA=0xFE不是一样的,DDRA1 = 0;把第一位清零但是不会改变其它位的,DDRA=0xFE则除了第零位,其它位都给置1了,DDRA = 0B11111110和DDRA=0xFE是等效的,一个是十六进制赋值,另一个是二进制赋值
DDRA1 = 0等效于DDRA=0xFD
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-06-12 广告
STM32F4是由ST(意法半导体)开发的一种高性能微控制器系列。其采用了90nm的NVM工艺和ART技术(自适应实时存储加速器,Adaptive Real-Time MemoryAccelerator)。STM32F4是一款基于ARM C...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
肯定不一样。不过没用过DDRA1=0这种形式,估计它是将DDRA的低1位置成0,不改变其他位。
那么等效形式应该是DDRA&=0b11111101
如果是DDRA1=1,等效形式应该是DDRA|=0b00000010
那么等效形式应该是DDRA&=0b11111101
如果是DDRA1=1,等效形式应该是DDRA|=0b00000010
更多追问追答
追问
你好,我刚下载了一个 破解版的 ICC 7.22版本,头文件iom48.h,为什么里面没有 DDRA PORTA 的定义?我应该用什么头文件,才能 对 全部的四组 I/O口,进行控制?
追答
换iom16.h
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询