原来以为是数据空间不够,现在感觉是代码空间的问题。
我是这样试验的。
加入下面这个程序显示正常。
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%。
请问大神,谁遇到过这样的问题?谢谢
|