微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 飞思卡尔D_Flash读写问题

飞思卡尔D_Flash读写问题

时间:10-02 整理:3721RD 点击:
飞思卡尔单片机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); //等待执行完毕
}

数据缓存区,只能一次写入四个数据

那如果想要写入更多数据应该怎么办?

同问

很简单啊,再调用一次这个函数就可以多写四个了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top