打印

CCS中SWITCH编程奇怪问题

[复制链接]
2406|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chl00100|  楼主 | 2007-7-25 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开发板为SEED-DEC643,CCS版本为V2.20.18,程序框架为
void tskmeasure(){
    while(1){
        switch(MeasureStatus){
          case a:
            switch(MeasureStatusA){
                case c:
                    break;
                case d:
                        break;
                case e:
                    break;
                .
                .
                .
                default:
                    break;
            }
            break;
          case b:
            switch(MeasureStatusB){
                case f:
                    break;
                case g:
                    break;
                case h:
                    break;
                .
                .
                .
                default:
                    break;
            }
              break;
        .
        .
        .
            default:
                break;
        }
        TSK_sleep(10);
    }
}
CCS中仿真运行,当用#define把d定义成8或e定义成9时,运行都会死机,改成其他值这运行正常;

更为奇怪的是,若把case g:,case h:中的程序段注释掉(即只留break语句),即使d定义成8,e定义成9程序也能正常运行!!!!!
晕死了!!!

相关帖子

沙发
redskier| | 2007-7-26 11:53 | 只看该作者

dd

我的程序case最多只能到7,过去后就跑飞,最后只好用if--elseif。

使用特权

评论回复
板凳
chl00100|  楼主 | 2007-7-26 12:43 | 只看该作者

看来不只我一个人遇到这个情况

有哪位大虾能解释一下为什么吗?碰到这种错误还是很郁闷的,找原因用了我一天时间,,,

使用特权

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

本版积分规则

18

主题

307

帖子

0

粉丝