5385| 7
|
新手学习32求助 |
1金钱
最佳答案你是想实现51里sbit相同的功能吧?
使用位带操作可以。
首先要有一个宏:
[mw_shl_code=c,true]# define BITBAND_REG(Reg,Bit) (*((uint32_t volatile*)(0x42000000u + (32u*((uint32_t)&(Reg) - (uint32_t)0x40000000u)) + (4u*((uint32_t)(Bit))))))[/mw_shl_code]
使用举例:
定义LED为PD7
[mw_shl_code=c,true]# define LED BITBAND_REG(GPIOD->ODR, 7)[/mw_shl_code]
当PD7的引脚初始化为GPIO输出后(51不需要 ...
| ||
| ||
坚决不用寄存器,拒绝重复造轮子。
|
||
| ||
| ||
| ||
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:http://openedv.taobao.com 正点原子官方微信公众平台,点击这里关注“正点原子” |
||
| ||
一直在路上,一直在成长。
|
||
| ||
| ||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-2-26 00:35
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网