初级会员

- 积分
- 84
- 金钱
- 84
- 注册时间
- 2013-12-3
- 在线时间
- 0 小时
|
5金钱
通过串口发送数据123,56789*
逗号前的数据存放在Mailing_address[ ]逗号后的数据Recipient_Address[ ]实现数据分离
//***********?????ì??????********//
void USART1_IRQHandler(void) //?®??1????·??????ò
{
u8 Res;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //????????(????????????±?????0x0d 0x0a?á??)
{
Res=USART_ReceiveData(USART1);//(USART1->DR); //????????????????
//temp1 = Res;
//i++;
if( Res==',')
{
count++;
}
if( Res=='*')
{
count=3;
}
switch(count)
{
case 0: Mailing_address[b++]=Res;break;//???????·
case 1: Recipient_Address[c++]=Res;break;//???????·
case 3: q=1; b=0;c=0;count=0; break;
}
}
}
disee() //用于观察数据分离是否正确
{
if(q==1)
{
u8 b=0;
q=0;
USART_SendData(USART1,Mailing_address[0]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//????·????á??
USART_SendData(USART1,Mailing_address[1]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//????·????á??
USART_SendData(USART1,Mailing_address[2]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//????·????á??
USART_SendData(USART1,Recipient_Address[0]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//????·????á??
}
}

第一次数据发送接收是正确的 之后怎么就错了呢
|
|