打印
[PIC®/AVR®/dsPIC®产品]

多增加一点代码屏幕就显示不正常

[复制链接]
591|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
是不是加了延时时序出了点问题?

使用特权

评论回复
5
小曾1220| | 2016-11-28 18:01 | 只看该作者

使用特权

评论回复
6
小曾1220| | 2016-11-28 18:02 | 只看该作者

使用特权

评论回复
7
小曾1220| | 2016-11-28 18:03 | 只看该作者

使用特权

评论回复
8
JY-DX-JY|  楼主 | 2016-11-28 18:47 | 只看该作者
皈依 发表于 2016-11-28 10:14
是不是加了延时时序出了点问题?

不是。

使用特权

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

本版积分规则

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

245

主题

3351

帖子

30

粉丝