记录应用STM32串口收发数据时出现的问题
在使用stm32数据收发功能时出现了bug,数据发送到PC机时PC机无法正确接收。
发送数据为:sf1233445a。
sf,a,为起始与末尾校验位。
显示结果如下:
既接收数组为空。
串口中断代码如下:
void USART1_IRQHandler(void) //串口1全局中断服务函数
{
u8 temp;
if( USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET )
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE);//清除中断标志
temp = USART_ReceiveData(USART1);
Data_processing(temp);//数据处理函数
}
}
void Data_processing(int16_t data)//接收传过来的数据
{ //数据处理通用
static u8 state = 0; //初始化定义过一次之后再进来不会再改
if(state==0&&data=='s')
{
state=1;
}
els