野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19518|回复: 2

为什么PC机不能连续给STM32串口发指令,只能先按一下复位键才能发第二条

[复制链接]
发表于 2014-8-19 13:57:21 | 显示全部楼层 |阅读模式
void ReciveCmd(_DataInfo *pScr)
{
int i, CheckSum;

if(RS485Flag==2)
{
  RS485Flag=0 ;
  ClearRevBuff(COM2);
  GPIO_SetBits(GPIOB,GPIO_Pin_5);
  send_data_uart2(0x02);
  while (USART_GetFlagStatus(USART2,USART_FLAG_TC) !=SET); //ÂÖѯֱµ½·¢ËÍÊý¾ÝÍê±Ï  
  GPIO_ResetBits(GPIOB,GPIO_Pin_5); //½øÈë½ÓÊÕģʽ
}
}


void USART2_IRQHandler(void)
{
  int res ;
if((USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)) //½ÓÊÕµ½Êý¾Ý
   {  
     res=USART_ReceiveData(USART2);  
      Uart_PushData(2,res);
    // UartPro[2].Reveive_Uuff[USART2_RX_STA++]=res;
     
    if(UartPro[2].Reveive_Uuff[0]==0x7e)
    {
     if(UartPro[2].Reveive_Uuff[1]==0x7d)
     {
       if(UartPro[2].Reveive_Uuff[3]==0x00)
        RS485Flag=1;
       else if (UartPro[2].Reveive_Uuff[3]==0x01)
        RS485Flag=2;
       else if (UartPro[2].Reveive_Uuff[3]==0x02)
        RS485Flag=3;
       else if (UartPro[2].Reveive_Uuff[3]==0x03)
        RS485Flag=4;
       else if (UartPro[2].Reveive_Uuff[3]==0x20)
        RS485Flag=5;
      }
    }

PC机不能连续给STM32串口发指令,只能先按一下复位键才能发第二条,为什么啊
回复

使用道具 举报

发表于 2014-8-19 14:34:29 | 显示全部楼层
你单步调试一下看看第二次发送命令跟第一次发送命令单片机的响应有什么区别
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-19 14:39:19 | 显示全部楼层
解凝然 发表于 2014-8-19 14:34
你单步调试一下看看第二次发送命令跟第一次发送命令单片机的响应有什么区别

单步调试好像进不去中断
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 11:24 , Processed in 0.148963 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表