- 打卡等级:以坛为家I
- 打卡总天数:392
- 最近打卡:2025-05-01 07:58:56
金牌会员
- 积分
- 1421
|
发表于 2024-12-16 11:00:48
|
显示全部楼层
P37在5V供电时,测量电压为1.26V,用以下程序保存参数,基本上能成功,但存在个别保存不成功。
void CMP_Isr() interrupt 21
{
int i;
CMPCR1 &= ~0x40; //清中断标志
if(CMPCR1 & 0x01)
{
EEPROM_SectorErase(EE_ADDRESS); //擦除扇区
for (i = 0; i <= 9; i++)
{
tmp = modbus_reg;
}
EEPROM_write_n(EE_ADDRESS,tmp,9);
}
}
void CMP_config(void)
{
CMPEXCFG = 0x00;
CMPEXCFG |= 0x04; //内部1.19V参考电压为CMP-输入脚
CMPEXCFG &= ~0x03; //P3.7为CMP+输入脚
CMPCR2 = 0x00;
CMPCR2 &= ~0x40; //使能0.1us滤波
CMPCR2 |= 0x10; //比较器结果经过16个去抖时钟后输出
CMPCR1 = 0x00;
CMPCR1 |= 0x30; //使能比较器边沿中断
CMPCR1 &= ~0x02; //禁止比较器输出
CMPCR1 |= 0x80; //使能比较器模块
}
有什么改善建议?
|
|