DS18B20 执行时间测试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27508477/article/details/84403933

配置10us溢出一次的定时器中断:

TIM3_Int_Init(10-1,72-1);

中断之后溢出值+1

int timeFlow=0;
void TIM3_IRQHandler(void)
{
    if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)//是更新中断
    {
        timeFlow++;
        TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //清除TIM3更新中断标志
    }
}

将运行时间发送至PC

			timeFlow=0;
			temperature=DS18B20_Get_Temp();
			sprintf(rs485buf,"%4d\r\n",timeFlow);
			RS485_Send_Data(rs485buf,6);

上位机收到的数据在500上下跳动,即5个ms在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_27508477/article/details/84403933