Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #include "stm32f4xx.h"
  2. #include "ESPL_functions.h"
  3. #include "buttonDebounce.h"
  4.  
  5.  
  6. int lastButtonState[6] = {0};
  7. int buttonState[6] = {0};
  8. unsigned long lastDebounceTime[6] = {0};
  9. unsigned long pressCount[6] = {0};
  10. unsigned long debounceDelay = 15;
  11.  
  12. unsigned char buttonCount(char button_index){
  13. static char button_state;
  14. switch(button_index){
  15. case BUT_A: button_state = !GPIO_ReadInputDataBit(ESPL_Register_Button_A,
  16. ESPL_Pin_Button_A); break;
  17. case BUT_B: button_state = !GPIO_ReadInputDataBit(ESPL_Register_Button_B,
  18. ESPL_Pin_Button_B); break;
  19. case BUT_C: button_state = !GPIO_ReadInputDataBit(ESPL_Register_Button_C,
  20. ESPL_Pin_Button_C); break;
  21. case BUT_D: button_state = !GPIO_ReadInputDataBit(ESPL_Register_Button_D,
  22. ESPL_Pin_Button_D); break;
  23. case BUT_E: button_state = !GPIO_ReadInputDataBit(ESPL_Register_Button_E,
  24. ESPL_Pin_Button_E); break;
  25. case BUT_K: button_state = !GPIO_ReadInputDataBit(ESPL_Register_Button_K,
  26. ESPL_Pin_Button_K); break;
  27. default:
  28. break;
  29. }
  30. if ((button_state == 1) && (lastButtonState[button_index] == 0)){
  31. lastDebounceTime[button_index] = xTaskGetTickCount();
  32. }
  33. if ((xTaskGetTickCount() - lastDebounceTime[button_index]) > debounceDelay){
  34. if (button_state != buttonState[button_index]){
  35. buttonState[button_index] = button_state;
  36. if(button_state == 1){
  37. return 1;
  38. //lastButtonState[button_index] = button_state;
  39. }
  40. }
  41. }
  42. lastButtonState[button_index] = button_state;
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement