在线时间3 小时
UID181449
ST金币0
蝴蝶豆0
注册时间2008-4-10
初级会员
- 最后登录
- 2019-4-22
|
a0a.1 0b0c
请好高手:STM8S的dataflash块写没问题,但STM8L的块写始终搞不定,谁能告诉我关键在那
代码如下:
void WriteMultiBlockByte(FLASH_MemType_TypeDef FLASH_MemType,BlockStartAddress_TypeDef BlockStartAddress,
FLASH_ProgramMode_TypeDef FLASH_ProgMode, uint8_t *Buffer,uint8_t BlockNum)
{
uint8_t BlockNum_Temp;
FLASH_Unlock(FLASH_MemType);
if(FLASH_MemType==FLASH_MEMTYPE_DATA)
while (FLASH_GetFlagStatus(FLASH_FLAG_DUL) == RESET);
else
while (FLASH_GetFlagStatus(FLASH_FLAG_PUL) == RESET);
for(BlockNum_Temp=0;BlockNum_TempFLASH_DATA_BLOCKS_NUMBER)
break;
}
else
{
if((BlockNum_Temp+BlockStartAddress)>FLASH_PROG_BLOCKS_NUMBER)
break;
}
FLASH_ProgramBlock(BlockNum_Temp+BlockStartAddress, FLASH_MemType, FLASH_ProgMode,Buffer+BlockNum_Temp*FLASH_BLOCK_SIZE);
FLASH_WaitForLastOperation(FLASH_MemType);
}
FLASH_Lock(FLASH_MemType);
} |
|