Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.71 KB | None | 0 0
  1. void PU_CheckButtons(PU_ButtonTypeDef* PU_ButtonStruct)
  2. {
  3.     static int menu_delay = 0;
  4.     static int menu_old_state = 0;
  5.     static int menu_state;
  6.    
  7.     // get current state
  8.     menu_state = ReadPin(); // insert your ReadPin() function here, returns 0 if button pressed and 1 if not pressed
  9.  
  10.     // reset values
  11.     PU_ButtonStruct->MenuShortPress     = 0;
  12.    
  13.     // button held, time
  14.     if(menu_state == 0 && menu_old_state == 0)
  15.         menu_delay++;
  16.    
  17.     // button depressed, short press detection
  18.     if(menu_state == 1 && menu_old_state == 0) //current_menu
  19.     {
  20.         if(menu_delay >= MIN_PRES_TIME && menu_delay < SHORT_PRESS_TIME)
  21.             PU_ButtonStruct->MenuShortPress = 1;
  22.         menu_delay = 0;
  23.     }
  24.    
  25.     // store state
  26.     menu_old_state = menu_state;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement