新手入门
- 积分
- 16
- 金钱
- 16
- 注册时间
- 2016-7-8
- 在线时间
- 1 小时
|
1金钱
我的串口接收程序刚开始能够成功接收串口助手发送的一个数据包,然后再发送数据就进不去串口中断了,各位朋友帮忙看看是哪里的问题
void USART1_IRQHandler()
{
uint8_t ReceiveDate; //定义一个变量存放接收的数据
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET) //读取接收中断标志位USART_IT_RXNE
//USART_FLAG_RXNE:接收数据寄存器非空标志位
//1:忙状态 0:空闲(没收到数据,等待。。。)
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清楚中断标志位
receive[count]=USART_ReceiveData(USART1);
if(count==0)
{
if(receive[count]==0x01||receive[count]==0x02)
{
check^=receive[count];
count=1;
}
else
{ count=0;
// printf("7");
}
}
else if(count==1)
{
if(receive[count]==0x3F)
{
count=2;
check^=receive[count];
// printf("3");
}
else
{
count=0;
// printf("8");
}
}
else if(count==2)
{
check^=receive[count];
count=3;
// printf("4");
}
else if(count>2&&count<6)
{
check^=receive[count];
count++;
// printf("5");
}
else if(count==6)
{
count=7;
// printf("5");
}
else if(count==7)
{
count=0;
if(receive[6]<<8||receive[7]==check)
{
// printf("6");
addr=receive[0];
V_H= receive[4];
V_L= receive[5];
LED1=~LED1;
}
else
count=0;
}
// printf("9");
}
}
|
|