【stm32】寄存器(stm32技术手册下载链接)

1、资料下载

RM0008_STM32F101xx,STM32F102xx,STM32F103xx,STM32F105xx和STM32F107xx单片机参考手册 | STMCU中文官网

2、代码

设置PB7

cs 复制代码
//设置PB7
#define SDA_IN()     {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;} 
#define SDA_OUT()    {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;} 

3、理解

如图:

0X0FFFFFFF:

可以知道CRL和CRH的寄存器配置,那么图片中的红框就是一位,你可以看到设置B7引脚在CRL的28-31,那么0X0FFFFFFF就出来了。

8<<28中的8:

8的二进制是1000,那么根据下表,得出设置结果(图是不是错了?有没有大佬解释一下,我猜是设置的下拉输入),io速度设置的是Reserved

8<<28中的28:

F是包含4个二进制位,PB7在我上面的图片中数一下是第7位,那么7*4=28

4、应用:

设置PB9:

cs 复制代码
#define SDA_IN()  {GPIOB->CRH&=0XFFFFFF0F;GPIOB->CRH|=(uint32_t)8<<4;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFFFF0F;GPIOB->CRH|=(uint32_t)3<<4;}

结语

做的的笔记,感觉理解的不是很透彻

相关推荐
夜月yeyue3 小时前
STM32 USB配置详解
stm32·单片机·嵌入式硬件
技术干货贩卖机3 小时前
0基础 | Proteus仿真 | 继电器
嵌入式硬件·51单片机·proteus·继电器·0基础
熬夜的猪仔4 小时前
零基础制作Freertos智能小车(教程非常简易)持续更新中....
stm32·freertos·智能小车
逼子格5 小时前
电路中的DGND、GROUND、GROUND_REF的区别,VREF、VCC、VDD、VEE和VSS的区别?
嵌入式硬件·硬件工程·硬件工程师·电源·接地·硬件工程师真题
总结所学5 小时前
擦除整片flash后,程序下载到单片机,单片机不运行
单片机·嵌入式硬件
2401_888859716 小时前
STM32 ADC模数转换器
stm32·单片机·嵌入式硬件
四夕白告木贞7 小时前
stm32week13
stm32·单片机·嵌入式硬件·学习
本道自然7 小时前
stm32wb55rg (2) 阅读资料手册
stm32·单片机·嵌入式硬件
平凡灵感码头8 小时前
STM32 RTC配置
stm32·单片机·实时音视频
第六个葫芦娃10 小时前
【ESP32】st7735s + LVGL移植
单片机