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

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
不能连着写在上下行上的,至少要等待第一个函数的数据发送完了以后再发送第二组数据
阴世幽泉 回答时间: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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版