打印
[STM32F1]

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

[复制链接]
2847|38
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qqjmjso|  楼主 | 2022-7-26 18:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ar, ni
我写了一个boot loader,使用串口中断接收数据,在跳转前需要关闭串口,请问这两个函数该用那一个呢,这两个函数有什么区别呢?

使用特权

评论回复
沙发
香水城| | 2022-8-18 11:04 | 只看该作者
本帖最后由 香水城 于 2022-8-18 11:07 编辑

LL_USART_Disable  禁用UART的传输功能,就是生活中有人跟你说手头上的事情停止下来,先别干了。
LL_USART_DeInit    让UART进入外设初始化复位状态,有令外设复位的动作在里面。

使用特权

评论回复
板凳
失物招領| | 2022-8-18 19:29 | 只看该作者
你说的两个函数指的是那个?

使用特权

评论回复
地板
温室雏菊| | 2022-8-18 19:52 | 只看该作者
可以使用EA这种操作关闭吧

使用特权

评论回复
5
风凉| | 2022-8-18 20:15 | 只看该作者
可以直接用寄存器关闭的,很快

使用特权

评论回复
6
西洲| | 2022-8-18 20:37 | 只看该作者
你应该是一个失能,一个EA吧,都一样应该

使用特权

评论回复
7
白马过平川| | 2022-8-18 20:58 | 只看该作者
这个我没比较过,但是都是使用失能的多

使用特权

评论回复
8
未说出口的像你| | 2022-8-18 21:19 | 只看该作者
跳转前关闭串口是担心误触发,误接收数据是吧

使用特权

评论回复
9
在曼谷的春| | 2022-8-18 21:43 | 只看该作者
哇哦,这俩函数应该都差不多吧,你可以看看底层呀

使用特权

评论回复
10
我吃小朋友| | 2022-8-18 22:06 | 只看该作者
用的是LL库啊,这库我用得少,可能帮不到你,但是我觉得用dis这个应该是OK

使用特权

评论回复
11
故意相遇| | 2022-8-18 22:29 | 只看该作者
你可以都试试,只要功能一致,其实也不用太过纠结

使用特权

评论回复
12
捧一束彼岸花| | 2022-8-18 22:52 | 只看该作者
这俩函数区别不太知道,你可以看看他们的底层是啥,比较一下


使用特权

评论回复
13
mikewalpole| | 2022-8-20 15:39 | 只看该作者
LL_USART_DeInit这个是还原

使用特权

评论回复
14
SantaBunny| | 2023-2-23 20:00 | 只看该作者
前者是撤消串口的初始化,相关的引脚可以改作它用,以后要用之前必须重新初始化串口才行。后者是停用串口需要时再用Enable启用就行。

使用特权

评论回复
15
中国龙芯CDX| | 2024-3-31 22:55 | 只看该作者
香水城 发表于 2022-8-18 11:04
LL_USART_Disable  禁用UART的传输功能,就是生活中有人跟你说手头上的事情停止下来,先别干了。
LL_USART_ ...

这个是寄存器库嘛?

使用特权

评论回复
16
香水城| | 2024-4-4 12:56 | 只看该作者
中国龙芯CDX 发表于 2024-3-31 22:55
这个是寄存器库嘛?

接近寄存器操作了,是底层驱动库,low level library.

使用特权

评论回复
17
wangdezhi| | 2024-4-7 19:48 | 只看该作者
LL_USART_DeInit 会清除USART的所有寄存器,包括控制寄存器、状态寄存器、数据寄存器等,使得USART接口回到刚上电时的初始状态。这个函数通常在初始化USART接口之前调用,以确保USART接口处于已知的状态。

使用特权

评论回复
18
saservice| | 2024-4-8 17:32 | 只看该作者
LL_USART_Disable 关闭USART接口的接收和发送功能,但不会改变USART的其他设置,如波特率、数据位、停止位、校验位等。这个函数通常在不需要使用USART接口时调用,以节省功耗。

使用特权

评论回复
19
febgxu| | 2024-4-9 11:05 | 只看该作者
LL_USART_DeInit是全面复位USART模块,而LL_USART_Disable仅仅是暂停USART的数据传输功能。

使用特权

评论回复
20
fengm| | 2024-4-9 16:31 | 只看该作者
LL_USART_DeInit函数用于清除串口配置并重置串口模块,而LL_USART_Disable函数用于禁用串口模块。

使用特权

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

本版积分规则

26

主题

66

帖子

1

粉丝