有关周立功Smart3250ARM程序的疑问

[复制链接]
2268|7
 楼主| zhuzibaijia1215 发表于 2012-11-9 10:20 | 显示全部楼层 |阅读模式
最近刚学ARM见到树上的程序样例,有些搞不明白这么编是什么意思。是DMA初始化的其中有一句诗这样的DMACC0Config =(0x05 <<6) | (0x01 <<11) | (1 <<14) |(1<<15);我的疑问是0x01不是八位吗怎么可以左移11位,还有(1 <<14) 是什么意思呢?请高手指教啊
xinzha 发表于 2012-11-9 11:20 | 显示全部楼层
在armcc编译器里,立即数是默认为32位有符号数的。1<<14和0x1<<14是同样效果的,lz还是结合c语言一起学吧,真搞嵌入式的话,c语言基础还是有点重要的。
jlass 发表于 2012-11-9 12:45 | 显示全部楼层
DMACC0Config =(0x05 <<6) | (0x01 <<11) | (1 <<14) |(1<<15);
等价于DMACC0Config =0xC940
 楼主| zhuzibaijia1215 发表于 2012-11-9 13:32 | 显示全部楼层
在armcc编译器里,立即数是默认为32位有符号数的。1
xinzha 发表于 2012-11-9 11:20
我想问的是1与0x0000 0001也是等价的吗,谢谢回答
 楼主| zhuzibaijia1215 发表于 2012-11-9 15:29 | 显示全部楼层
求指导啊,大神们
jlass 发表于 2012-11-9 16:33 | 显示全部楼层
当然等价
你只要注意进制的差别与位数的差别即可
阿南 发表于 2012-11-9 18:02 | 显示全部楼层
对,最笨也是最有效的方法,是将他转成二进制,然后再慢慢移。
 楼主| zhuzibaijia1215 发表于 2012-11-9 19:24 | 显示全部楼层
版主都亲自出动了,呵呵,谢谢,还请多多指教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

199

帖子

0

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