打印

CCS中SWITCH编程奇怪问题

[复制链接]
1821|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangguangaisha|  楼主 | 2012-2-21 19:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开发板为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时,运行都会死机,改成其他值这运行正常;

相关帖子

沙发
yangguangaisha|  楼主 | 2012-2-21 19:42 | 只看该作者
更为奇怪的是,若把case g:,case h:中的程序段注释掉(即只留break语句),即使d定义成8,e定义成9程序也能正常运行!!!!!
晕死了!!!

使用特权

评论回复
板凳
创展和众| | 2012-2-21 22:39 | 只看该作者
确实很奇怪 从来没见过

使用特权

评论回复
地板
jinpaidianzi| | 2012-2-21 22:44 | 只看该作者
没遇到过这个情况

使用特权

评论回复
5
hljshzhang| | 2012-2-21 23:21 | 只看该作者
你可以右键点击代码区,选择Mixed Mode查看写这段程序的汇编代码找找原因,感觉是你内存冲突造成的

使用特权

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

本版积分规则

168

主题

1522

帖子

3

粉丝