
我们拿STM32F1参考手册为例,可以看到如下图寄存器:
外设时钟使能和失能 我们都知道,配置STM32外设,会先开启对应的时钟(也就是使能外设时钟)。比如使能USART1时钟:
所以说,我们要操作外设,就必须要先开启(使能)其外设时钟。 复位外设相信大部分朋友都能理解,如果使用寄存器开发过的朋友,更应该明白。 可能有些地方你会也会发现xx外设配置之前有“重新初始化”外设的操作,如:
失能外设时钟和复位外设区别 可能许多人没有深入分析过,我这里简单总结一下: 2.复位外设,会复位外设的所有寄存器,但外设时钟不会被复位; 4.复位外设,但不清除复位外设,则不能继续配置(读写)外设。
USART_Init(USART1, &USART_InitStructure);在STM32的库函数中,外设复位和清除都是成对的,所以,我们用库开发的好处,就是相对不容易犯一些错误。 所以,建议用寄存器开发的朋友转向使用(SPL、HAL或CLL)库开发。如果你非要一步一步理解底层,建议使用SPL标准外设库。 转载自:嵌入式微处理器 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南