为何HAL_UART_Transmit可发送,改成HAL_UART_Transmit_IT就不行了
cube配置的
STM32f407系统
其他代码均一样
while(HAL_OK != HAL_UART_Transmit_IT(DEFAULT_UART, (uint8_t*)UartTxBuffer, index)); //不行
while(HAL_OK != HAL_UART_Transmit(DEFAULT_UART, (uint8_t*)UartTxBuffer, index, 0xFFFF)); //可以
----
搞定,见21楼
我看错了,你说的对。你确定中断设置的对吗?
我之前做过一个虚拟串口的,觉得程序写得也对,就是调不通,每次接受到的数也都正常但是发送出去被电脑串口终端接收就不成。后来发觉是串口终端的问题。但是推测你这个不是这个原因。你在调试的时候时钟卡在while那个地方吗?还是while那个地方已经过去了,但是收不到数据?
UartSetTxAvailable 取mutex而已,后面是give mutex
初始化都是用的cubemx生成的,配置你要说有问题吧,直接block的函数发送又是正常的
说中断配置有问题吧,rx中断又是正常的,rx也是用中断收的。
一周热门 更多>