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

HAL_UART_Transmit_IT 连续发送问题

[复制链接]
ardarm 提问时间:2017-6-7 09:09 /
1、   该函数发送的数据,在调试的时候,数据是能够能发,但是第二行的数据没有发送出来  HAL_UART_Transmit_IT(&Uart5Handle, "123",3);    HAL_UART_Transmit_IT(&Uart5Handle, "456",3);

2、 和STL库不一样,这里的这函数到底发送的应该是一串数据,为何不行?




收藏 评论7 发布时间:2017-6-7 09:09

举报

7个回答
废鱼 回答时间:2017-6-7 09:18:43
等上次发送完成再进行发送。楼主可以看一下代码,if(husart->State == HAL_USART_STATE_READY)
ardarm 回答时间:2017-6-7 13:07:02
安 发表于 2017-6-7 09:18
等上次发送完成再进行发送。楼主可以看一下代码,if(husart->State == HAL_USART_STATE_READY)
。 ...

问题是我用这个 HAL_UART_Transmit_IT (uart1,buff,1); 循环每次发送一个字节,那确实可以发送字符串。但是HAL_UART_Transmit_IT 本来就应该是发送字符串的吧?  
这里没搞懂?
废鱼 回答时间:2017-6-7 13:31:23
本帖最后由 安 于 2017-6-7 13:32 编辑

要等上次发送完成,再进行发送。你这样操作,前面数据还没发送完成,后面的数据也不会继续发送。如果想连续发送,不要用中断。或者等待上次发送完成。
zhao.zhao 回答时间:2017-6-7 17:14:04
不能连着写在上下行上的,至少要等待第一个函数的数据发送完了以后再发送第二组数据
yinshiyouquan 回答时间:2020-1-8 00:55:09
ardarm 发表于 2017-6-7 13:07
问题是我用这个 HAL_UART_Transmit_IT (uart1,buff,1); 循环每次发送一个字节,那确实可以发送字符串 ...

HAL_UART_Transmit_IT函数进入,第一个就是判断是否发送被占用 if (huart->gState == HAL_UART_STATE_READY),而gState 值是在UART_EndTransmit_IT函数中被重新置位准备态。因此第一发送数据是字符串,可能数据还没发送完成你就再次调用HAL_UART_Transmit_IT,这时肯定不会响应的,解决这个问题有两种方式,一种是使用HAL_UART_TxCpltCallback回调函数通知外部可以再次发送数据,另外一种办法就是调用HAL_UART_Transmit_IT前先判断if (huart->gState == HAL_UART_STATE_READY)
~惜.缘~ 回答时间:2020-2-16 03:35:21
安 发表于 2017-6-7 13:31
要等上次发送完成,再进行发送。你这样操作,前面数据还没发送完成,后面的数据也不会继续发送。如果想连续 ...

为什么使用阻塞发送后,中断接收却不能进中断?
~惜.缘~ 回答时间:2020-2-16 03:46:23
阴世幽泉 发表于 2020-1-8 00:55
HAL_UART_Transmit_IT函数进入,第一个就是判断是否发送被占用 if (huart->gState == HAL_UART_STATE_REA ...

HAL_UART_Transmit_IT(&hlpuart1, (uint8_t *)str,stringlength);
chardat=0x0D;
HAL_UART_Transmit_IT(&hlpuart1, (uint8_t *)&chardat,1);
chardat=0x0A;
HAL_UART_Transmit_IT(&hlpuart1, (uint8_t *)&chardat,1);
请问:如上发送一个命令分三次中断发送,为什么前面的命令进了2次HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart),最后的命令进了3次?(我想实现在HAL_UART_TxCpltCallback中判断if (huart->gState == HAL_UART_STATE_READY),但没有实现)

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版