[PIC®/AVR®/dsPIC®产品] 多增加一点代码屏幕就显示不正常

[复制链接]
 楼主| JY-DX-JY 发表于 2016-11-26 15:25 | 显示全部楼层 |阅读模式
原来以为是数据空间不够,现在感觉是代码空间的问题。
我是这样试验的。
加入下面这个程序显示正常。
void XH_qiangdu(void)
{
         //memset(uart1_RX, 0, sizeof(char) * 100);
         //RX_Ind = 0;
         RS_string(CSQ);
         delay10050ms(10);
         //Nop();
         roast_current_state.gsm_signal_quality = (QiangDu_shi-0x30)*10 + (QiangDu_ge-0x30);

}
然后我定义一个宏定义:
#define nop()  _asm nop _endasm
在上面程序增加nop()
void XH_qiangdu(void)
{
         //memset(uart1_RX, 0, sizeof(char) * 100);
         //RX_Ind = 0;
         RS_string(CSQ);
         delay10050ms(10);
         //Nop();
         roast_current_state.gsm_signal_quality = (QiangDu_shi-0x30)*10 + (QiangDu_ge-0x30);

nop();nop();nop();nop();nop();nop();nop();nop();nop();nop();
}

这样就可以保证没有多占用数据空间。
但是代码下进去,屏幕就花啦。
可是我看MAP文件,程序空间只用了52%。
请问大神,谁遇到过这样的问题?谢谢
mcu5i51 发表于 2016-11-27 09:08 | 显示全部楼层
看看堆栈
 楼主| JY-DX-JY 发表于 2016-11-27 10:18 | 显示全部楼层

谢谢。在哪儿查看?
皈依 发表于 2016-11-28 10:14 | 显示全部楼层
是不是加了延时时序出了点问题?
小曾1220 发表于 2016-11-28 18:01 | 显示全部楼层
小曾1220 发表于 2016-11-28 18:02 | 显示全部楼层
小曾1220 发表于 2016-11-28 18:03 | 显示全部楼层
 楼主| JY-DX-JY 发表于 2016-11-28 18:47 | 显示全部楼层
皈依 发表于 2016-11-28 10:14
是不是加了延时时序出了点问题?

不是。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:晴天响霹雳,平地一声雷。

245

主题

3351

帖子

30

粉丝
快速回复 在线客服 返回列表 返回顶部