这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【FRDMRW612系列】4、片内温度值获取

共1条 1/1 1 跳转至

【FRDMRW612系列】4、片内温度值获取

高工
2026-07-17 16:24:54     打赏

【软件环境】

MCUXPresso IDE 25.6

【工和配置】

由于RW612的片内温度值是直接读取寄存的,因此不需要再次配置。

【代码实现】

在hardware_init.c中添加获取温度值的函数

float DEMO_MeasureTemperature(void)
{
uint16_t tempRawValue = 0U;

if (0UL == ((SENSOR_CTRL->MISC_CTRL_REG & SENSOR_CTRL_MISC_CTRL_REG_TIMER_1_ENABLE_MASK) >>
SENSOR_CTRL_MISC_CTRL_REG_TIMER_1_ENABLE_SHIFT))
{
SENSOR_CTRL->MISC_CTRL_REG |= SENSOR_CTRL_MISC_CTRL_REG_TIMER_1_ENABLE_MASK;
}

tempRawValue = (((SENSOR_CTRL->TSEN_CTRL_1_REG_2) & SENSOR_CTRL_TSEN_CTRL_1_REG_2_TSEN_TEMP_VALUE_MASK) >>
SENSOR_CTRL_TSEN_CTRL_1_REG_2_TSEN_TEMP_VALUE_SHIFT);

return (tempRawValue * 0.480561F - 220.7074F);
}

然后在main中添加获取温度值并打印:

while (1)
{
   	SysTick_DelayTicks(100U);
   	GPIO_PinWrite(GPIO, 0, 0, 1);
   	SysTick_DelayTicks(100U);
   	GPIO_PinWrite(GPIO, 0, 0, 0);
   	if(g_InputSignal)
   	{
   		GPIO_PortToggle(GPIO, 0, (1U << 1));
   		g_InputSignal = false;

   	}
   	PRINTF("\r\n Current temperature is: %.3f degrees Celsius.", ((double)DEMO_MeasureTemperature()));
}

【下载验证】

下载好到开发板后,可以打印出了温度值:

image.png


【总结】

片内温度值通过读取指定寄存器的值,可以快速实现,并了解芯片运行情况。





关键词: FRDMRW612     温度    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]