请问用STM32F101的串口为什么第一数据总丢啊?

ababab   2008-4-22 17:29 楼主
大家好。
请问用STM32F101的串口1向PC机接收数据,为什么第一数据总丢啊?

比如我发送StelCom,PC接收到的是telCom。用串口监控工具发现最后一个数据变成0了。

先谢谢。

串口设置如下:USART_InitStructure.USART_BaudRate = 115200;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    USART_InitStructure.USART_Clock = USART_Clock_Disable;
    USART_InitStructure.USART_CPOL = USART_CPOL_High;
    USART_InitStructure.USART_CPHA = USART_CPHA_2Edge;
    USART_InitStructure.USART_LastBit = USART_LastBit_Disable;

回复评论 (5)

同问

                                 我的也有这个问题
点赞  2008-4-22 18:59

是吗?

                                 关注中
点赞  2008-4-22 23:03

没有人知道吗?

                                 先谢谢了。
点赞  2008-4-23 08:48

很好解决

                                 在传输前  加一个清除传输完成标志位语句
点赞  2008-4-23 09:37

以后这样写即可,还可以省去等待时间(单发一个字节的情况)

while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);
USART_SendData(USARTx, (u8) data);
点赞  2008-4-23 11:25
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复