1. 程式人生 > >DS18B20 執行時間測試

DS18B20 執行時間測試

配置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在這裡插入圖片描述