OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4302|回复: 1

大家看看这个问题怎么解决

[复制链接]

12

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2013-7-20
在线时间
0 小时
发表于 2013-7-25 20:51:21 | 显示全部楼层 |阅读模式
 大家帮忙看下为什么不执行中断中的函数????直接跳过了Motor();
/*串口1中断服务程序*/
void USART1_IRQHandler(void)
{
//     if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)    //若接收数据寄存器满
//     {
//         USART_SendData(USART1, USART_ReceiveData(USART1));  //回发给PC
//          while(USART_GetFlagStatus(USART1, USART_IT_TXE)==RESET);//等待发完(检验发送数据寄存器空标志位,空则置1)
      
    USART_ClearITPendingBit(USART1, USART_IT_RXNE);
    switch(i)
    {
      case 1:{
      dir1=USART_ReceiveData(USART1);
     i++;
     break;
    }
  
   case 2:{
      dir2=USART_ReceiveData(USART1);
     i++;
     break;
    }
  
  case 3:{
     left[0]=USART_ReceiveData(USART1);
     i++;
     break;
    }
  case 4:{
           left[1]=USART_ReceiveData(USART1);
     i++;
     break;
    }
  
    
  case 5: {
  
           left[2]=USART_ReceiveData(USART1);
     i++;
     speed1=(left[0]-48)*100+(left[1]-48)*10+(left[2]-48);
     break;
    }
      
    case 6:{
     right[0]=USART_ReceiveData(USART1);
     i++;
     break;
        } 
   
    case 7:{
     right[1]=USART_ReceiveData(USART1);
     i++;
     break;
        }
   
    case 8:{
          right[2]=USART_ReceiveData(USART1);
        speed2=(right[0]-48)*100+(right[1]-48)*10+(right[2]-48);
         i=1;
        Motor(dir1,dir2,speed1,speed2);
        break;
     }
    }
}  
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-25 21:04:29 | 显示全部楼层
仿真进去看了才知道哦.这么看,看不出来问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-16 10:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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