这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 将n个字节从一个地址拷贝到另一个地址的函数,但是发现如果将这个函数调用7次以上,

共2条 1/1 1 跳转至

将n个字节从一个地址拷贝到另一个地址的函数,但是发现如果将这个函数调用7次以上,程序就不能正常运行,为什么?

菜鸟
2007-11-26 16:29:57     打赏
将n个字节从一个地址拷贝到另一个地址的函数,但是发现如果将这个函数调用7次以上,
程序就不能正常运行。我的主芯片为AT89C55,用8279扩展 的4*4键盘来控制选择lcd 不同
的屏幕。当调用mem_cpy函数在程序中出现7次以后,键盘不起作用;7次及以下完好。这是
为什么?难道堆栈区不够用吗?请各位大哥大姐再给小弟指导一下!

 

void mem_cpy(void *t,void *s,uchar len)
{
    char *t1,*s1;
    t1=(char *)t;
    s1=(char *)s;
    while (len--) 
    {
      *t1++=*s1++;
    }
}
在程序中也就是将以下两种名字的数组相互拷贝而已,
uchar idata dig1[7]={"0 2.6 0"};
uchar idata dig2[7]={"4 5.0 0"};
uchar idata dig3[7]={"4 5.0 0"};
uchar idata dig4[7]={"4 5.0 0"};
uchar idata shu1[7]={"0 3.5 0"};
uchar idata shu2[7]={"4 3.5 0"};
uchar data shu3[7]={"4 3.5 0"};
uchar idata shu4[7]={"4 3.5 0"};




关键词: 字节     一个     地址     拷贝     另一个     函数     但是     发现         

高工
2007-11-28 15:29:30     打赏
2楼
你咋拷贝的?不可能,去掉idata

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]