mykafw 发表于 2015-3-25 21:39:27

数组调用问题求助(已经解决)

本帖最后由 mykafw 于 2015-4-2 20:11 编辑

我是单片机初学者
我的问题:原来定义在CODE区的一个数组,程序运行时可以正常调用。后来这个数组元素在程序运行时需要更改,这个数组不能存储在CODE区
就去掉CODE关键字,我的程序不能正常运行。
如:
uchar code PhoneCall[]={"ATD1xxxxxxxxxx;"}; //拨打电话数组

void phone()//拨电话 {    Print_Str(PhoneCall,15);   Print_Char('\r');    ES=1;    delay_Xms(500); }    void main() 主函数{ while(!SW1);//松手检测   {    D1LED=1;//指示灯亮    delay_Xms(100);    phone();    D1LED=0;//指示灯灭    clear_Buff();    delay_Xms(500);}}   这样程序能运行。指示灯亮灭变化,能拨打电话。当去掉CODE关键字,用其它函数改变数组元素时(即更换电话号),主函数还是那样,程序不运行。因程序较长,不便全贴上来,这样不知是否把问题说清楚了,求jianghong老师或坛友帮助一下,指点迷津。   



jianhong_wu 发表于 2015-3-25 22:10:42

这个问题我也不清楚。感觉这类程序bug的问题还是要靠自己,别人没有在那个现场很难帮你找到bug。

mykafw 发表于 2015-3-26 07:39:22

谢谢老师回复。

mykafw 发表于 2015-4-2 20:20:03

芯片问题。原来用AT89S52单片机就是调不出来。更换STC89C52RC芯片,程序不用改就好了。
看来AT89S52芯片在变量的使用上还是有点限制。
页: [1]
查看完整版本: 数组调用问题求助(已经解决)