发新帖我要提问
12
返回列表
打印
[STM32F1]

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

[复制链接]
楼主: qqjmjso
手机看帖
扫描二维码
随时随地手机跟帖
21
yorkbarney| | 2024-4-9 18:54 | 只看该作者 回帖奖励 |倒序浏览
LL_USART_DeInit:
这个函数用于将USART外设完全重置到初始状态。
它会关闭USART外设,并将所有的寄存器重置为默认值。
使用这个函数后,USART外设将不再工作,所有的配置和数据都将被清除。
在使用LL_USART_DeInit之后,需要重新配置USART外设的所有参数。

使用特权

评论回复
22
louliana| | 2024-4-10 17:57 | 只看该作者
LL_USART_DeInit和LL_USART_Disable的主要区别在于它们关闭串口的方式和程度。LL_USART_DeInit会完全关闭串口并释放相关资源,而LL_USART_Disable只会临时关闭串口,保留一些资源以便稍后重新启用。

使用特权

评论回复
23
maqianqu| | 2024-4-11 19:44 | 只看该作者
如果只是临时停止串口通信而不打算更改任何配置参数,使用LL_USART_Disable就足够了。

使用特权

评论回复
24
jonas222| | 2024-4-12 14:19 | 只看该作者
当需要重新启用USART时,可以使用LL_USART_Enable函数来重新开启外设的时钟。

使用特权

评论回复
25
hearstnorman323| | 2024-4-12 16:37 | 只看该作者
LL_USART_DeInit函数的主要功能是将USART寄存器重置为默认值。这通常意味着该函数会将USART的配置参数、缓冲区、状态标志等恢复到初始状态,以便重新开始配置或使用。这是一个相对“重型”的操作,因为它涉及对整个USART模块的全面复位。

使用特权

评论回复
26
loutin| | 2024-4-14 20:05 | 只看该作者
LL_USART_DeInit:这个函数用于完全关闭串口,包括关闭串口时钟、禁用串口中断、清除串口寄存器等。当你需要完全关闭串口并释放相关资源时,可以使用这个函数。
LL_USART_Disable:这个函数用于临时关闭串口,但不会关闭串口时钟、禁用串口中断等。当你需要暂时关闭串口,但稍后可能需要重新启用它时,可以使用这个函数。

使用特权

评论回复
27
jackcat| | 2024-4-15 11:09 | 只看该作者
只需要暂时停止USART的传输活动,但是还希望保留USART的配置信息时,可以使用这个函数。

使用特权

评论回复
28
zerorobert| | 2024-4-15 20:18 | 只看该作者
调用LL_USART_Disable后,USART的时钟仍然 enabled,你可以随时重新启用USART并继续使用之前的配置。

使用特权

评论回复
29
febgxu| | 2024-4-15 22:53 | 只看该作者
要重新配置USART或者完全取消串口通信功能, 使用LL_USART_DeInit来彻底重置USART模块。

使用特权

评论回复
30
mollylawrence| | 2024-4-16 20:10 | 只看该作者
执行此函数后,所有的USART寄存器都将被重置到默认值,这意味着USART将被完全关闭并返回到其复位状态。

使用特权

评论回复
31
alvpeg| | 2024-4-17 17:32 | 只看该作者
通常在系统初始化时会调用LL_USART_Init来配置USART,而在不需要USART时,会调用LL_USART_DeInit来关闭并重置USART。

使用特权

评论回复
32
abotomson| | 2024-4-19 13:19 | 只看该作者
LL_USART_DeInit和LL_USART_Disable都是用于关闭串口的函数,但它们的功能和用途有所不同。

使用特权

评论回复
33
backlugin| | 2024-4-19 20:58 | 只看该作者
LL_USART_Disable函数主要用于禁用USART模块的发送和接收功能。当这个函数被调用时,USART模块将不再进行数据的发送或接收操作。但是,这并不会影响USART的配置参数或状态,仅仅是暂停了它的数据传输功能。这是一个相对“轻型”的操作,它可以在需要暂时停止串口通信时调用。

使用特权

评论回复
34
modesty3jonah| | 2024-4-20 22:29 | 只看该作者
LL_USART_DeInit 和 LL_USART_Disable 都可以用来关闭USART接口,但LL_USART_DeInit会将USART接口完全重置,而LL_USART_Disable只会关闭USART接口的接收和发送功能。

使用特权

评论回复
35
zhengshuai888| | 2024-4-21 12:04 | 只看该作者
一个是使能控制,一个是恢复默认设置,寄存器的控制范围不一样。

使用特权

评论回复
36
jtracy3| | 2024-4-22 10:49 | 只看该作者
LL_USART_DeInit:这个函数的作用是将USART(通用异步收发传输器)的寄存器重置为默认值。这个过程通常涉及到对USART相关的所有配置进行清除,包括波特率、数据位、停止位、奇偶校验等参数,并将这些参数恢复到初始状态。这样做的目的是彻底地重置USART模块,以便重新配置或在不需要USART功能时释放资源。
LL_USART_Disable:该函数的功能是禁用UART的传输功能,也就是停止正在进行的数据传输活动。它不会改变USART的配置参数,只是简单地停止了数据的发送和接收,使得USART不再进行任何通信操作。

使用特权

评论回复
37
hilahope| | 2024-4-22 12:17 | 只看该作者
这两个函数都是用于关闭串口,              

使用特权

评论回复
38
芯路例程| | 2024-4-23 14:09 | 只看该作者
如果希望在不更改任何配置参数的情况下暂时停止串行通信,则 ll _ usart _ able 就足够了。

使用特权

评论回复
39
LLGTR| | 2024-4-23 20:22 | 只看该作者
这两个函数用来关闭串口,

使用特权

评论回复
40
童雨竹| | 2024-7-6 07:02 | 只看该作者

这些引线越窄越好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则