1
10
0
新手上路
各位大神好: 我是想问一下关于位邦定的速度问题。 比如我要让PA.2输出高:普通的做法是GPIOA->ODR|=1<<2; //PA.2输出高 然后使用位绑定: PAout(2)=1;相当于=》 *((volatile unsigned long *)((Addr&0xf0000000)+0x2000000+((Addr&0xfffff)<<5))+BitNum<<2)=1; 宏定义又不会在预编译的时候先把这些结果计算出来,他只是进行简单的替换而已。普通输出有一个左移和一个或运算,然而位绑定的做法除了有几个加法、两个与运算加上两个左移。这样是速度还会比普通的做法快吗?真的有这个疑惑,会不会我自己理解错了呢?请各位理解帮我理解一些
我来回答
使用道具 举报
530
11万
34
管理员
32
190
金牌会员
本版积分规则 发表回复 回帖后跳转到最后一页
查看 »
正点原子公众号
|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )
GMT+8, 2025-6-21 04:22
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网