Board logo

标题: STM32L系列单片机内部EEPROM的读写(4) [打印本页]

作者: yuyang911220    时间: 2014-9-25 23:00     标题: STM32L系列单片机内部EEPROM的读写(4)

/*------------------------------------------------------------ Func: EEPROM数据按字写入 Note: 字当半字用-------------------------------------------------------------*/void EEPROM_WriteWords(uint16 Addr,uint16 *Buffer,uint16 Length){        uint32 *wAddr;        wAddr=(uint32 *)(EEPROM_BASE_ADDR+Addr);        DIS_INT        FLASH->PEKEYR=PEKEY1;                                //unlock        FLASH->PEKEYR=PEKEY2;        while(FLASH->PECR&FLASH_PECR_PELOCK);        FLASH->PECR|=FLASH_PECR_FTDW;                //not fast write        while(Length--){                *wAddr++=*Buffer++;                while(FLASH->SR&FLASH_SR_BSY);        }        FLASH->PECR|=FLASH_PECR_PELOCK;        EN_INT}    以上代码中,在写入数据之前先关闭系统中断DIS_INT,写入完成之后打开系统中断EN_INT,这样避免在执行写操作的过程中被中断过程所打断,引起CPU异常或锁死,在在使用中一定要注意。在MDK环境中,两个可以这样定义:







欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0