你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Cube库中的UART与USART

[复制链接]
lkl0305 发布时间:2015-5-20 22:50
以前使用标准外设库的串口编程时,比如要初始化一个串口,使用USART_Init函数就可以了,如图:
USART.jpg
今天学习了Cube库,在查看帮助文档时,发现有两个串口初始化函数,HAL_UART_Init和HAL_USART_Init。它们的函数形式:
HAL_StatusTypeDef HAL_UART_Init( UART_HandleTypeDef *  huart )
HAL_StatusTypeDef HAL_USART_Init(USART_HandleTypeDef *husart)
分别属于如下帮助文档类别,如图:
USART_UART.jpg
再看看两者地区别,一个是关于UART,一个是USART。
以前对这两者没有区分,一下子懵了,怎么有2套串口操作库函数?
后来查了资料,补习了一番才略微明白了一些,给大家分享一下:
1、UART:universal asynchronous receiver and transmitter通用异步收发器
2、USART:universal synchronous asynchronous receiver and transmitter通用同步异步收发器
也就是说:UART的一般只能用于异步串行通讯,而名称为USART的既可以用于同步串行通讯,也能用于异步串行通讯。

在STM32CubeMX中测试了一下同步通信和异步通信,自动生成的代码中,果然:
1、在使用异步通信时,自动调用的是HAL_StatusTypeDef HAL_UART_Init( UART_HandleTypeDef *  huart ) 初始化
2、在使用同步通信时,自动调用了HAL_StatusTypeDef HAL_USART_Init(USART_HandleTypeDef *husart)初始化

暂时就有这点,大家有什么心得也来说说?
收藏 1 评论20 发布时间:2015-5-20 22:50

举报

20个回答
风子 回答时间:2015-5-20 23:22:28
STM32中串口1,2,3是USART,4和5是UART,之前使用的标准外设库只有一个初始化函数,使用的是USART1,2,3,同步异步模式都是要用USART_Init()初始化的,比较常用异步。使用UART4,5只有异步模式,同样也是USART_Init()初始化
CUBE库把两个部分分开,进行了升级把
lkl0305 回答时间:2015-5-27 22:11:36
波波呀 发表于 2015-5-27 21:23
学习了,一直在学习hal的usb  串口还没看

朋友是高手啊,直接USB了,我还不敢去看那个啊,回头有问题可要向你求教了
波波呀 回答时间:2015-5-29 14:25:59
lkl0305 发表于 2015-5-27 22:11
朋友是高手啊,直接USB了,我还不敢去看那个啊,回头有问题可要向你求教了 ...

可以 共同学习进步
lkl0305 回答时间:2015-5-21 00:31:14
是呀,不过现在是异步,不管是123还是45都用HAL_UART..
sasmike 回答时间:2015-5-21 08:47:45
学习了
xxp790912 回答时间:2015-5-21 09:02:23
学习了,谢谢分享!原来真没注意
为什么是EEFOCUS小白 回答时间:2015-5-21 09:14:02
学习了        
lkl0305 回答时间:2015-5-21 09:35:50
哈哈,共同学习
wtliu 回答时间:2015-5-21 15:56:29
同步通讯是不是要多一个时钟信号?有点类似SPI?
熊猫s885 回答时间:2015-5-21 16:44:05
学习学习了
lkl0305 回答时间:2015-5-23 13:03:04

共同学习哈
眉来眼去 回答时间:2015-5-27 11:42:59
有什么区别
jiaswang 回答时间:2015-5-27 12:06:36
学习了~!
three! 回答时间:2015-5-27 12:06:55
学习了~
three! 回答时间:2015-5-27 12:10:42
好难的样子
lkl0305 回答时间:2015-5-27 12:24:58

其实不难,百度一下
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版