完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请问大家 HAL 库中, 串口的timeout 参数 具体代表什么意思 如何使用
1. HAL_StatusTypeDef HAL_USART_Receive (USART_HandleTypeDef * husart, uint8_t * pRxData, uint16_t Size, uint32_t Timeout) Timeout 是超时限制 这个可以理解, 但是 问题是 它的单位是多少???? 比如填个1 代表 1 什么? 1ms 还是1 us ? 另外 填0 呢? 不限时, 填 ffff 呢?? 看了 HAL 的手册 都没有说清楚: |
|
相关推荐
8个回答
|
|
你自己再好好分析下。。 确实HAL库的说明太过于简单了。。。 还得靠你自己。。摸索。。
UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, Timeout) HAL_GetTick(); |
|
|
|
Oo一笑 发表于 2018-11-2 07:29 谢谢你, 这个我已经找到 了 ,而且我知道 /** * @brief uwTick_variable uwTick variable */ __IO uint32_t uwTick; /** * @brief Provides a tick value in millisecond. * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval tick value */ __weak uint32_t HAL_GetTick(void) { return uwTick; } 但具体 uwTick 单位是什么呢??? |
|
|
|
Tick 就是ms为单位的。。
|
|
|
|
签到 签到
|
|
|
|
HAL_GetTick();基于这个函数计时来比较是否超时,而HAL_GetTick()计数单位为ms,所以就是ms了。至于填多少,就得看你的波特率,接收发送数据大小大致估算下时间。
|
|
|
|
楼主问题解决了吗
|
|
|
|
|
|
|
|
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2234 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2053 浏览 3 评论
4664 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2197 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2734 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 19:33 , Processed in 0.978760 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号