STM32 UART/USART初始化时钟使能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zyq_hh/article/details/53185615

在学习STM32的过程中,我们通常会遇到使能时钟。例如在uart_init()的函数中,我们要使能串口:

RCC->APB2ENR|=1<<4;//使能串口1的时钟
RCC->AHB1ENR|=1<<4;//使能portra的时钟

简而言之,就是让串口1和PA口工作。但是为什么使能之后就能工作了呢,我们可以查看手册,找到STM32的系统框架图(原子哥的资料里有)


AHB (Advanced High performance Bus)高级性能总线,是系统总线的一种。AHB主要用于高性能模块之间的连接,如CPU,DMA等。

APB(Advancd Peripheral Bus),这是一种外围总线。APB主要用于低宽带的外围设备的连接,如USART。

我们在图中可以看到,AHB->APB2->USART 1,这样我么就可以知道为什么要使能APB2这个时钟了。

同理,我们可以找到PA挂载在AHB1的总线上,所以我们要使能AHB1。

UART:  universal asynchronous receiver and transmitter通用异步收发器。

USART:universal synchronous asynchronous receiver and transmitter通用同步异步收发器。

uart和usart的区别在于usart支持同步。

猜你喜欢

转载自blog.csdn.net/zyq_hh/article/details/53185615
今日推荐