小弟初用103RBT6,从论坛下了个例程双串口连续发送的,结果丢字节程序如下 请教: SystemInit(); USART_Configuration(); USART1_SendString("USART1"); USART2_SendString("USART2"); 程序如上,USART2的发送丢掉了首字节,有木有人遇到过?
RE:双串口连续发送丢字节
RE:双串口连续发送丢字节
1、串口配置有错
2、发送串口时,要等待发送完毕以后,再发送下一个字节内容。
RE:双串口连续发送丢字节
RE:双串口连续发送丢字节
RE:双串口连续发送丢字节
USART_SendData(USART1,ch);
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
{
}
RE:双串口连续发送丢字节
void USART1_SendString(uint8_t *str)
{
while(*str!='\0' && *str!='#')
{
USART_SendData(USART1, (uint8_t) *str);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET){};
str++;
}
}
RE:双串口连续发送丢字节
// USART_ClearFlag(USART2, USART_FLAG_TC);//清除发送完成标志,解决第一个字节无法发送的问题
// USART_ClearFlag(USART1, USART_FLAG_TC);//清除发送完成标志,解决第一个字节无法发送的问题
USART_GetFlagStatus(USART1, USART_FLAG_TC);
USART_GetFlagStatus(USART2, USART_FLAG_TC);
被屏蔽掉的是以前的 发送前初始化,也就是导致串口2丢掉首字节的初始化,未屏蔽的是现在能完整发送的初始化。看来我这问题挺偏的啊 版主你没碰见过?
RE:双串口连续发送丢字节