[资源共享] 板子收到分享试用心得!!!顺便填一个坑!!!IAP Flash...

[复制链接]
430|2
 楼主 | 2018-3-9 15:38 | 显示全部楼层 |阅读模式
本帖最后由 yefeng19901202 于 2018-3-9 15:51 编辑

原厂带的Flash操作程序基本和这个一样
void Flash_WriteArr(unsigned int fui_Address,unsigned char fuc_Length,unsigned char *fucp_SaveArr)
{        
        EA = 0;
        while(fuc_Length--)
        {                 
                IAP_DATA=*fucp_SaveArr;         //待编程数据,写入数据寄存器必须放在解锁之前
                IAP_CMD=0xF00F;                                //Flash解锁
                IAP_ADDR=fui_Address;                //写入地址
                IAP_CMD=0xB44B;                                //字节编程
                IAP_CMD=0xE11E;                                //触发一次操作
                fui_Address++;                                //地址加一
                fucp_SaveArr++;                                //数据后移一位
        }
        EA = 1;
}
在不开xdata模式可以使用,开启后不能用,
改进后程序
void Flash_WriteArr(unsigned int fui_Address,unsigned char fuc_Length,unsigned char *fucp_SaveArr)
{        
        data unsigned int fui_Address2;
        data unsigned char fuc_Length2;
        fui_Address2 = fui_Address;
        fuc_Length2 = fuc_Length;
        EA = 0;
        while(fuc_Length2--)
        {                 
                IAP_DATA=*fucp_SaveArr;         //待编程数据,写入数据寄存器必须放在解锁之前
                IAP_CMD=0xF00F;                                //Flash解锁
                IAP_ADDR=fui_Address2;                //写入地址
                IAP_CMD=0xB44B;                                //字节编程
                IAP_CMD=0xE11E;                                //触发一次操作
                fui_Address2++;                                //地址加一
                fucp_SaveArr++;                                //数据后移一位
        }
        EA = 1;
}

| 2018-6-22 15:38 | 显示全部楼层
楼主有新的发现 恭喜啊
| 2018-7-17 12:07 | 显示全部楼层
您好!问问 存入的数据读出来就变化了是什么原因?
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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