lzts 发表于 2016-12-19 20:14:58

没用过stm8, 你参考下F103的
初始化串口的最后加一个清标志动作.这个应该是你的问题3
USART_ClearFlag(USART3,USART_FLAG_TC); //清发送完成标志, 否则第一个发不出
1,2其实都是一个问题,你可试下在初始后串口的最后读一下串口试试.

huaiqiao 发表于 2016-12-19 20:18:52

不用接收中断?不用像32一样,清除中断标志位?


还有UART1_RX_BUF是什么类型的?是uiint8_t或者u8类型么?

zbber 发表于 2016-12-19 23:13:52

在初始化命令

时光虫子 发表于 2016-12-20 08:48:43

你把波特率设置低一点看看,最好用示波器看看PC发送的数据正不正确,在看RS232输出到单片机的数据正不正确,这样来排除问题

xmshao 发表于 2016-12-20 11:07:40

本帖最后由 xmshao 于 2016-12-20 11:09 编辑

问题出在这里。USART_ClearFlag(USART3,USART_FLAG_TC); ==>改为查TXE

这里描述的比较清楚。一个关于USART 传输标志TXE/TC 的话题
页: 1 [2]
查看完整版本: STM8L051F3串口发送接收数据丢失