打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Cube库中的UART与USART
以前使用标准外设库的串口编程时,比如要初始化一个串口,使用USART_Init函数就可以了,如图:

今天学习了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 (171.64 KB, 下载次数: 2)

下载附件

2015-5-20 22:38 上传


再看看两者地区别,一个是关于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)初始化

暂时就有这点,大家有什么心得也来说说?
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
STM32L051C8T6 LPUART + DMA + IDLE不定长接收遇到的问题只能printf一次
STM32串口通信基本原理
STM32HAL库与标准库的区别
使用stm32cubemx开发四:串口标准化输出
STM32+FreeRTOS+CUBEMX
超全STM32 HAL的知识总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服