打印

有关周立功Smart3250ARM程序的疑问

[复制链接]
1738|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也是等价的吗,谢谢回答

使用特权

评论回复
5
zhuzibaijia1215|  楼主 | 2012-11-9 15:29 | 只看该作者
求指导啊,大神们

使用特权

评论回复
6
jlass| | 2012-11-9 16:33 | 只看该作者
当然等价
你只要注意进制的差别与位数的差别即可

使用特权

评论回复
7
阿南| | 2012-11-9 18:02 | 只看该作者
对,最笨也是最有效的方法,是将他转成二进制,然后再慢慢移。

使用特权

评论回复
8
zhuzibaijia1215|  楼主 | 2012-11-9 19:24 | 只看该作者
版主都亲自出动了,呵呵,谢谢,还请多多指教

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

199

帖子

0

粉丝