[STM32F1] stm32F103的串口不能同时发送和接收数据?有解决办法吗

[复制链接]
2514|5
 楼主| kt98741 发表于 2019-9-3 08:40 | 显示全部楼层 |阅读模式
在定时器里向某个串口发送一串数据

       User_USART_SendData(USART3,0x01);
       User_USART_SendData(USART3,0x02);
       User_USART_SendData(USART3,0x03);
       User_USART_SendData(USART3,0x04);
       User_USART_SendData(USART3,0x05);
       User_USART_SendData(USART3,0x06);


把Uart3的Tx和Rx直接连接,再查看Uart3的RX端,结果只收到了0x01和0x02两个数据,其它的数据都丢了。

上面发送数据如果一个一个发送是不会有问题的,连续发送多个数据就只能接收到前面2个数据。某个串口在发送时,其它的串口也无法接收。

这个问题以前用003芯片时就有了,无法解决,想不到stm32也有这个问题,有解决办法吗?

51xlf 发表于 2019-9-4 23:37 | 显示全部楼层
你判断数据发送完成了吗?     
51xlf 发表于 2019-9-4 23:37 | 显示全部楼层
或者增加延时也可以。         
51xlf 发表于 2019-9-4 23:38 | 显示全部楼层
STM32里面好像就3位的FIFO实现的。      
又东风 发表于 2019-9-7 23:09 | 显示全部楼层
是不是发送和接收太占资源了,用空闲中断或DMA试试。
joketinnle 发表于 2019-9-8 00:13 | 显示全部楼层
加上判断 UART_FLAG_TC 是否set
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

51

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部