初级会员
- 积分
- 145
- 金钱
- 145
- 注册时间
- 2017-9-28
- 在线时间
- 43 小时
|
20金钱
对于寄存器MODER,这样可以生效:- GPIOB->MODER&=~(3<<(0*2)); <div style="line-height: 19px;"><div> GPIOB->MODER|=1<<(0*2);</div></div>
复制代码
GPIOB的基地址是0x40020400 MODER寄存器的偏移地址是0x00
通过手册上的偏移地址访问也能生效:
- <div>*(unsigned int*)(0x40020400+0x00)&=~(3<<(0*2));<span style="white-space:pre"> </span></div><div>*(unsigned int*)(0x40020400+0x00)|=1<<(0*2);<span style="white-space:pre"> </span> </div>
复制代码
另外这个同一组的寄存器PUPDR:
这样配置也可以生效
- <div>GPIOB->PUPDR&=~(3<<(0*2));<span style="white-space:pre"> </span></div><div>GPIOB->PUPDR|=1<<(0*2);<span style="white-space:pre"> </span></div>
复制代码
但是,把PUPDR也换成偏移地址访问,就失效了,
- <div>*(unsigned int*)(0x40020400+0x0C)&=~(3<<(0*2));<span style="white-space:pre"> </span></div><div>*(unsigned int*)(0x40020400+0x0C)|=1<<(0*2);</div>
复制代码
另外,
- <span droid="" sans="" mono",="" monospace,="" "droid="" fallback";="" font-size:="" 14px;="" white-space:="" pre;="" color:="" rgb(224,="" 108,="" 117);"="">RCC</span><span style="background-color: rgb(40, 44, 52); color: rgb(171, 178, 191); font-family: " droid="" sans="" mono",="" monospace,="" "droid="" fallback";="" font-size:="" 14px;="" white-space:="" pre;"="">-></span><span droid="" sans="" mono",="" monospace,="" "droid="" fallback";="" font-size:="" 14px;="" white-space:="" pre;="" color:="" rgb(224,="" 108,="" 117);"="">AHB1ENR这个寄存器也遇到了相同的问题</span>
复制代码 |
|