配置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