21ic问答首页 - LKS32MC081C8T8 读取内置温度传感器返回值异常
LKS32MC081C8T8 读取内置温度传感器返回值异常
室温29度左右 用官方示例程序DEBUG返回值0x0456 换算出来为-30.0左右。请指教
下面是官方库代码
void TempSensor_Init(void)
{
SYS_WR_PROTECT = 0x7a83; /* 解除系统寄存器写保护 */
SYS_AFE_REG5 |= 0x2000; /* 打开温度传感器开关 */
m_TempertureCof.nCofA = Read_Trim(0x00000398);
m_TempertureCof.nOffsetB = Read_Trim(0x0000039C);
}
s16 GetCurrentTemperature(s16 ADC_value)
{
s16 t_Temperture;
if (ADC0->CFG & BIT0)
{
t_Temperture = (m_TempertureCof.nOffsetB - ((s32)m_TempertureCof.nCofA * ADC_value) / 1000);
}
else
{
t_Temperture = (m_TempertureCof.nOffsetB - ((s32)m_TempertureCof.nCofA * (ADC_value >> 4)) / 1000);
}
return t_Temperture;
}
下面是官方库代码
void TempSensor_Init(void)
{
SYS_WR_PROTECT = 0x7a83; /* 解除系统寄存器写保护 */
SYS_AFE_REG5 |= 0x2000; /* 打开温度传感器开关 */
m_TempertureCof.nCofA = Read_Trim(0x00000398);
m_TempertureCof.nOffsetB = Read_Trim(0x0000039C);
}
s16 GetCurrentTemperature(s16 ADC_value)
{
s16 t_Temperture;
if (ADC0->CFG & BIT0)
{
t_Temperture = (m_TempertureCof.nOffsetB - ((s32)m_TempertureCof.nCofA * ADC_value) / 1000);
}
else
{
t_Temperture = (m_TempertureCof.nOffsetB - ((s32)m_TempertureCof.nCofA * (ADC_value >> 4)) / 1000);
}
return t_Temperture;
}

问答
赞0
评论
2026-08-06
您需要登录后才可以回复 登录 | 注册