飞思卡尔D_Flash读写问题

2019-07-15 16:22发布

飞思卡尔单片机MC9S12XS128的很多D_Flash读写历程中都只能在D_Flash中写入4个数据,请问怎么才能写入更多的数据?/*                     向DFLASH写入数据                      *//*                ADDR16为写入数据的首地址                   */
/*                 a,b,c,d为写入的数据                    */
void DFlash_Write(word ADDR16,word a,word b,word c,word d)
{
    while(FSTAT_CCIF==0);
    if(FSTAT_ACCERR)           //判断并清除标志位;
        FSTAT_ACCERR=1;
    if(FSTAT_FPVIOL)           //判断并清除标志位;
        FSTAT_FPVIOL=1;
    FCCOBIX_CCOBIX=0x00;
    FCCOB=0x1110;         //写入命令和高位地址
    FCCOBIX_CCOBIX=0x01;  //地址后16位
    FCCOB=ADDR16;         //写入低16位地址
    FCCOBIX_CCOBIX=0x02;  //写入第一个数据
    FCCOB=a;
    FCCOBIX_CCOBIX=0x03;  //写入第二个数据
    FCCOB=b;
    FCCOBIX_CCOBIX=0x04;  //写入第三个数据
    FCCOB=c;
    FCCOBIX_CCOBIX=0x05;  //写入第四个数据
    FCCOB=d;  

    FSTAT_CCIF=1;         //写入执行命令
    while(FSTAT_CCIF==0); //等待执行完毕
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
茶壶茶茶
1楼-- · 2019-07-15 17:08
数据缓存区,只能一次写入四个数据
woriaty
2楼-- · 2019-07-15 22:37
茶壶茶茶 发表于 2015-8-27 11:16
数据缓存区,只能一次写入四个数据

那如果想要写入更多数据应该怎么办?
panduola_2011
3楼-- · 2019-07-16 03:56
同问
纳离子
4楼-- · 2019-07-16 06:47
很简单啊,再调用一次这个函数就可以多写四个了

一周热门 更多>