diff --git a/guohuafengdian/Paint----6(1)/Paint_(1)/Core/Src/fsm.c b/guohuafengdian/Paint----6(1)/Paint_(1)/Core/Src/fsm.c index c6a8f5a..4637c08 100644 --- a/guohuafengdian/Paint----6(1)/Paint_(1)/Core/Src/fsm.c +++ b/guohuafengdian/Paint----6(1)/Paint_(1)/Core/Src/fsm.c @@ -1737,16 +1737,17 @@ void PushRodControl() } - int Derust_Flag = 3000; int Derust_Count = 0; int Last_Derust_Flag = 0; +uint8_t key_state = 0; void GrinderControl() { switch(Derust_Flag) { case -1000: + key_state = 1; GF_BSP_GPIO_SetIO(0,GPIO_PIN_RESET); Derust_Count++; if(Derust_Count>=100) @@ -1756,13 +1757,21 @@ void GrinderControl() } break; case 0: - GF_BSP_GPIO_SetIO(0,GPIO_PIN_RESET); - Derust_Count++; - if(Derust_Count>=100) + if(key_state == 1) { - GF_BSP_GPIO_SetIO(0,GPIO_PIN_SET); - Derust_Flag=2000; + GF_BSP_GPIO_SetIO(0,GPIO_PIN_RESET); + Derust_Count++; + if(Derust_Count>=100) + { + GF_BSP_GPIO_SetIO(0,GPIO_PIN_SET); + key_state = 0; + Derust_Flag=2000; + } } + else{ + + } + break; case 1000: