#include <ADuC7023.h>

#define FLASH_PAGE_SIZE 256 // Flash页大小

void eraseFlash(uint32_t address) { // 禁用中断 __disable_irq();

// 设置Flash控制器
FLASHKEYR = 0x0123;
FLASHKEYR = 0x4567;

// 设置擦除页地址
FADDRH = (address >> 16) & 0xFF;
FADDRL = (address >> 8) & 0xFF;

// 开始擦除
FCR = 0x02;

// 等待擦除完成
while (FSR & 0x80);

// 启用中断
__enable_irq();

}

int main() { // 擦除Flash地址为0x000000的页 eraseFlash(0x000000);

return 0;

}

注意,这只是一个示例代码,具体的实现可能因芯片型号、开发环境等而有所不同。请确保在使用该代码之前仔细阅读ADUC7023的数据手册和相关开发文档,并根据实际情况进行适当的修改和调整。


原文地址: https://www.cveoy.top/t/topic/pktb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录