該程序放入延時(shí)函數(shù)就發(fā)送錯(cuò)誤,實(shí)現(xiàn)不了功能,把延時(shí)函數(shù)注釋掉又可以實(shí)現(xiàn)。
究竟是什么問(wèn)題導(dǎo)致的?
1. void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) 2. { 3. HAL_Delay(100);//消抖,通過(guò)延時(shí)然后讀取按鍵電平,達(dá)到消抖的效果。 4. switch(GPIO_Pin) 5. { 6. case KEY_UP_Pin: 7. if(KEY_UP==1) 8. { 9. HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET); 10. HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET); 11. } 12. break; 13. case KEY2_Pin: 14. if(KEY2==0) 15. { 16. HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET); 17. } 18. break; 19. case KEY1_Pin: 20. if(KEY1==0) 21. { 22. HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET); 23. } 24. break; 25. case KEY0_Pin: 26. if(KEY0==0) 27. { 28. HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET); 29. HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET); 30. } 31. break; 32. } 33. }
|