我用的是正点原子的stmf103rct6开发板
功能:(通过红外对管模块测量滴速,加了一个5秒的定时器中断,主函数里测量5秒内检测到的液滴个数,中断发生时将主函数内5秒测到的液滴个数乘12,得到对应的每分钟的滴速),直接调用了正点原子对应的代码。
以下是主函数
LCD_ShowString(60,150,200,16,16,"V: /min");
TIM3_Int_Init(49999,7199);
ye_di5s=0;
v=0;
while(1)
{
if(Detect()==0) //¼ì²âµ½ÒºµÎÂäÏÂ
{
LED0=0;
ye_di5s++; //²âÁ¿5sÄÚÒºµÎµÄ¸öÊý
delay_ms(400);
}
else if(Detect()==1) //¼ì²â²»µ½ÒºµÎÂäÏÂ
{LED1=0;}
}
以下是中断
if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //¼ì²éÖ¸¶¨µÄTIMÖжϷ¢ÉúÓë·ñ:TIM ÖжÏÔ´
{ TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //Çå³ýTIMxµÄÖжϴý´¦Àíλ:TIM ÖжÏÔ´
v=(ye_di5s)*12; //½«Ö÷º¯Êý²âµ½µÄ5sÄÚÒºµÎ¸öÊý ³Ë12£¬=ÿ·ÖÖÓÒºµÎµÄËÙ¶È
LCD_ShowNum(60+40+8+10,150,v,2,16); //ÿ5s²úÉúÒ»´ÎÖжϣ¬Ë¢ÐµÎËÙ
ye_di5s=0;
v=0;
烧录后,5秒后显示屏无法正常执行液滴个数和滴速清零指令。
我的解答思路和尝试过的方法
我调试了好久,但是一直不清零,我不知道代码哪里写错了(我初学,有点迷糊),希望各位指点一下