代码1: uint code relay_dis[4]={0x00,0Xaa2a,0Xeef8,0Xf81e}; void r1(void){ static uchar item=40;
if(40==item){ item=relay_config[relay_term-1]; } DISBYTE_cfg((relay_dis[item]>>8),relay_dis[item]); } 以上部分运行正常。
代码2: uint code relay_dis[4]={0x00,0Xaa2a,0Xeef8,0Xf81e}; void r1(void){ static uchar item=40; uint temp1;
temp1=1;
if(40==item){ item=relay_config[relay_term-1]; } DISBYTE_cfg((relay_dis[item]>>8),relay_dis[item]); } 加上红字部分就提示递归调用错误*** WARNING L13: RECURSIVE CALL TO SEGMENT 有人提示说是访问了代码区,我定义成uint data relay_dis[4]={0x00,0Xaa2a,0Xeef8,0Xf81e};后问题确实解决了。不过为什么我的这两个应用,一个能行一个就不行了呢?望各位指教!
|