你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
ss1969 发表于 2016-1-25 10:11 中断模式发送,只是在IT Handler里面设置成可以再次调用吧? 而且就算我没有在HAL_UART_TxCpltCallback里 ...
回到未来~ 发表于 2016-1-25 10:11 你只有这段代码没用啊,UartSetTxAvailable(); 是要干嘛?初始化怎么处理的?配置怎么处理的,建议还是从 ...
xmshao 发表于 2016-1-25 10:45 楼主 其实那两个函数并不一样。 上面各位的建议都非常 好,看看注释,借助例程自己捣鼓几下就知道差别了。 ...
安 发表于 2016-1-25 11:06 仿真一下,进入串口发送以后,周到哪一步出的错。
watershade 发表于 2016-1-25 22:26 我之前做过一个虚拟串口的,觉得程序写得也对,就是调不通,每次接受到的数也都正常但是发送出去被电脑串 ...
ss1969 发表于 2016-1-25 23:38 中断就是CubeMX直接配置的。。都是默认设定,你要说配错了吧。。RX又是中断方式正常使用。 调试没发现卡 ...
我看错了,你说的对。你确定中断设置的对吗?
我之前做过一个虚拟串口的,觉得程序写得也对,就是调不通,每次接受到的数也都正常但是发送出去被电脑串口终端接收就不成。后来发觉是串口终端的问题。但是推测你这个不是这个原因。你在调试的时候时钟卡在while那个地方吗?还是while那个地方已经过去了,但是收不到数据?
UartSetTxAvailable 取mutex而已,后面是give mutex
初始化都是用的cubemx生成的,配置你要说有问题吧,直接block的函数发送又是正常的
说中断配置有问题吧,rx中断又是正常的,rx也是用中断收的。
我已经读过函数的说明了,例程没有找到完全可用的,都只是代码片段
而且似乎都是直接用_IT函数发送就成功了,没人提到不行
再次强调,我rx中断方式ok,tx 非中断也ok!
手里只有stlink可以仿真吗?
顺便请教这个函数是否是 先填好内容,最后到
/* Enable the UART Transmit data register empty Interrupt */
__HAL_UART_ENABLE_IT(huart, UART_IT_TXE);
这里启动发送过程?
中断就是CubeMX直接配置的。。都是默认设定,你要说配错了吧。。RX又是中断方式正常使用。
调试没发现卡在什么地方。。
不过CubeMX 最新版问题是不少,4.12发现eth部分PHY_MICR_INT_OE这个值会生成错误,本来是1写成了2
我用401做一个实验一下
在cube里配置好usart 和usart中断
然后调用hal_usart_transmit_it
ok
中断中已经有了处理 不用你加