搜索
bottom↓
回复: 1

MEGA64移植到MEGA2560,程序中有指针,运行出错,ICC7.22,为何?

[复制链接]

出390入22汤圆

发表于 2020-12-16 08:14:22 | 显示全部楼层 |阅读模式
本帖最后由 liudingding 于 2020-12-16 10:18 编辑

如题,将M64程序移植到M2560,在一处出错,具体程序出什么错不详,现象是上位机收不到数据出错,经检查是该处有指针,下面两行是主程序中的两句,第一句程序没问题,接着第二句程序调用程序,就不行了,第一句程序中也有指针,和第二句差不多但能运行下去,好像是能运行一次但仅一次就不能再次到达该位置,这个程序在M16、M64中运行没问题,没修改移植过来

   Flash_Write(&UART_RX_Buffer[6],(IAP_Fram-1)*PAGE_LARGE);
   if(Flash_Verif(&UART_RX_Buffer[6],(IAP_Fram-1)*PAGE_LARGE))


unsigned char Flash_Verif(unsigned char *data,unsigned int Head_Address)
{
          unsigned int i;
        DisableISR();
        for(i=0;i<PAGE_LARGE;i++)
        {       
                if(*data==Read_flash(Head_Address+i))  //如果该行改为if(1)则程序运行,随机改,if(*data==8)不行
                {
                        data++;
                }
                else
                {
                        return 0;
                }
        }
        EnableISR();        
        return 1;
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出200入2554汤圆

发表于 2020-12-16 12:06:36 | 显示全部楼层
2560 地址超过了 64K,基本上你只用 16bit 的 uint 传地址就是失败。过了下你的代码没见着 RAMPZ 寄存器,好好研究手册去吧
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-2 08:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表