STM32
直播中

陈光琦

7年用户 924经验值
私信 关注
[问答]

关闭串口,LL_USART_DeInit和LL_USART_Disable这两个函数有什么区别呢?

我写了一个bootloader,使用串口中断接收数据,在跳转前需要关闭串口,请问这两个函数该用那一个呢,这两个函数有什么区别呢

回帖(2)

江端淳

2024-4-7 14:26:40
前者是撤消串口的初始化,相关的引脚可以改作它用,以后要用之前必须重新初始化串口才行。后者是停用串口,需要时再用Enable启用就行。
举报

邹俩珍

2024-4-7 15:07:42
LL_USART_DeInit函数用于彻底关闭并重置指定的USART外设,包括所有相关的时钟,寄存器和中断。调用该函数后,必须重新初始化和配置USART外设才能再次使用。

LL_USART_Disable函数用于禁用指定的USART外设。调用该函数后,外设的时钟和寄存器仍保持配置,但不会再处理数据传输和中断。

在关闭串口之前,你可以使用LL_USART_DeInit函数来重置USART外设,以便于在跳转前重新初始化和配置。而如果你只需暂时禁用数据传输和中断,可以使用LL_USART_Disable函数。具体选择使用哪个函数取决于你的需求和设计。

另外,注意在使用这两个函数之前要确保没有其他正在发送或接收数据的操作,以免丢失数据或引起其他问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分