一、NST1001温度传感器简介
二、封装和典型接法
注意:DQ引脚需要上拉电阻
三、时序图
四、脉冲数与温度转换方程
五、示例代码
💦程度思路:使用外部中断,捕获脉冲数信号(下降沿),在外部中断返回函数中启动定时器计时,计时的时间大于脉冲数通讯周期26ms,小于50ms即可。
1.外部中断回调函数
代码如下(示例):
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == GPIO_PIN_0)
{
if(num_temp==0)
{
HAL_TIM_Base_Start_IT(&htim14);
}
num_temp++;
}
}
2.定时器回调函数
代码如下(示例):
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim==&htim14)
{
data_temp=num_temp*x-y;
num_temp=0;
HAL_TIM_Base_Stop_IT(&htim14);
}
}
💦x,y是转换公式的系数,data_temp是温度计算值,num_temp是脉冲数。