STM32 UART/USART初始化时钟使能

在学习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支持同步。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值