发表于 2019-6-24 09:44:43

问一下,发送中断是不是初始化时开启的?如果是,建议在if(uart1_count>0)增加else处理,进入后关闭串口中断。

bl2019 发表于 2019-6-24 10:06:59

本帖最后由 bl2019 于 2019-7-1 15:59 编辑

安 发表于 2019-6-24 09:44
问一下,发送中断是不是初始化时开启的?如果是,建议在if(uart1_count>0)增加else处理,进入后关闭串口中 ...
void Uart1_Send(void)
{
      USART_SendData(USART1, tx_buf1);
       USART_ITConfig(USART1, USART_IT_TC, ENABLE);
}
我是这么干的

发表于 2019-6-24 10:37:33

本帖最后由 安 于 2019-6-24 10:39 编辑

uart1_count这个怎么处理的?如果这个是0.那么就关闭不了中断了。楼主仿真一下,是不是一直在串口中断中运行。

bl2019 发表于 2019-6-26 08:06:59

解决了,但是该怎么结贴呢
说一下怎么解决的,修改了上位机,加长了帧之间的间隔,换了新版子,程序没有变动,就可以了
虽然解决了,但是我还是不知道问题出在那:dizzy::'(
页: 1 [2]
查看完整版本: STM32F091RCT6的8个串口收发干扰问题