打印

ucos 移植到LPC1768时遇到的一个问题

[复制链接]
1688|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lsddata|  楼主 | 2012-10-6 17:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void  eint3Isr (void)
{
  IO0IntEnf =IO0IntEnf&(~ad7190_data_out); /* P0.17下降沿中断禁止*/
delay_nus(1);
if(0x00000000==(FIO0PIN&0x00020000))
  {
   read_from_ad7190(3,ad_new_buffer);
   ad_new_data=ad_new_buffer[2]<<16|ad_new_buffer[1]<<8|ad_new_buffer[0];
   OSMboxPost(SampleMbox,&ad_new_data);
  }
IO0IntEnf = ad7190_data_out; /* P0.17下降沿中断使能          */   
IO0IntClr = ad7190_data_out;  //中断标志清零
}


只要在上面的程序中加入OSMboxPost(SampleMbox,&ad_new_data);
时,程序运行时出现异常,进入下面的while (1);

void defaultVectorHandle (void)
{
#ifdef DEBUG
    while (1);
#else
    zyReset(ZY_HARD_RESET);
#endif                                                                  /*  DEBUG                       */
}


但在别的任务中调用OSMboxPost(SampleMbox,&ad_new_data);时正常运行,哪位高人能指点一下?

相关帖子

沙发
阿南| | 2012-10-6 18:27 | 只看该作者
defaultVectorHandle 是默认异常处理。别的任务中调用无该问题,而这个程序中有,很大程度是和P0.17下降沿中断有关。楼主可以将该中断一直禁止,再调用试试,并跟踪该线索看是否能找到问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

93

帖子

1

粉丝