代码拉取完成,页面将自动刷新
您好,在这里,这一条应该与CPU时钟频率有关的。我想,应该可以通过宏定义解决。
void eeprom_erase(u16 addr){
IAP_CONTR = 0x81; //使能IAP
IAP_CMD = 3; //设置IAP擦除命令
IAP_ADDRL = addr; //设置IAP低地址
IAP_ADDRH = addr >> 8; //设置IAP高地址
IAP_TRIG = 0x5a; //写触发命令(0x5a)
IAP_TRIG = 0xa5; //写触发命令(0xa5)
_nop_(); //稍稍等待一下
eeprom_off(); //关闭IAP功能
}
IAP_CONTR = 0x81; //这一条应该与MCU的时钟频率有关的。
#define F_CPU 24000000
#ifndef F_CPU
#error "必须定义时钟频率F_CPU,因为写入FLASH的配置会用到。"
#endif
#if (F_CPU>=32000000ul)
#define IAP_START_CMD = 0x80
#elif (F_CPU>24000000ul)
#define IAP_START_CMD = 0x81
#elif (F_CPU>20000000ul)
#define IAP_START_CMD = 0x82
#elif (F_CPU>12000000ul)
#define IAP_START_CMD = 0x83
#elif (F_CPU>6000000ul)
#define IAP_START_CMD = 0x84
#elif (F_CPU>3000000ul)
#define IAP_START_CMD = 0x85
#elif (F_CPU>2000000ul)
#define IAP_START_CMD = 0x86
#elif (F_CPU>1000000ul)
#define IAP_START_CMD = 0x87
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论