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
    评论
STM32初始化UART3的步骤如下: 1. 配置GPIO引脚:首先,需要配置UART3的引脚作为串口功能。根据具体的芯片型号和引脚分配,将相应的引脚配置为UART3的功能。 2. 使能UART3时钟:通过使能相应的时钟来启用UART3模块。可以使用RCC_APB1PeriphClockCmd函数来使能UART3的时钟。 3. 配置UART3的工作模式:设置UART3的波特率、数据位、停止位、校验位等参数。可以使用USART_Init函数来配置UART3的工作模式。 4. 使能UART3的发送和接收中断:根据需要,可以使能UART3的发送和接收中断。可以使用USART_ITConfig函数来使能相应的中断。 5. 配置UART3的中断优先级:如果需要使用中断,还需要配置UART3的中断优先级。可以使用NVIC_Init函数来配置中断优先级。 6. 启用UART3:最后,通过调用USART_Cmd函数来启用UART3。 综上所述,STM32 UART3的初始化包括配置GPIO引脚、使能UART3时钟、配置UART3的工作模式、使能UART3的发送和接收中断、配置UART3的中断优先级和启用UART3。 #### 引用[.reference_title] - *1* [stm32初始化三个串口](https://blog.csdn.net/HES_C/article/details/77449321)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [STM32F103RCT6+USART3+UART5初始化代码](https://blog.csdn.net/qq_24835087/article/details/82620231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值