飞思卡尔
单片机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); //等待执行完毕
}
一周热门 更多>