高级会员

- 积分
- 693
- 金钱
- 693
- 注册时间
- 2017-7-27
- 在线时间
- 98 小时
|
发表于 2017-8-29 12:52:09
|
显示全部楼层
本帖最后由 huanghan 于 2017-8-30 08:06 编辑
如果你的串口配置没问题,这样就可以实现 static u8 flag=0;
u8 buffer[9]={0};
u8 Rxbuffer[8]={0};
u8 Res=0;
void USART1_IRQHandler(void)
{
if(USART_GetITSatus(USART1,USART_IT_RXNE)!=RESET)
{
buffer[flag]=USART_ReceiveData(USART1);
if(buffer[0]==0x01)
{
Res++;
}
else Res=0;
}
if(Res==9)
{
flag=1;
if(buffer[0]==0x01)
{
for(Res=0; Res<8; Res++)
{
Rxbuffer[Res] =buffer[flag]
flag++;
}
}
flag=0;
Res=0;
}
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
}
}
|
|