Guest User

Untitled

a guest
Oct 18th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. /*
  2. > Vamo fazer um menu no LCD com maquina de estados
  3. > O seguinte trecho vai existir no código:
  4. */
  5. enum tecla { btn_none=0, btn_left, btn_right, btn_select, btn_0, btn_1, btn_2, btn_3};
  6. enum estados { contando=0, menu1, menu2, menu3, menu4, ajuste, novo, lista};
  7. enum estados estado_atual;
  8. /*
  9. > Cada estado tem sua função "processa" e "botao", por exemplo:
  10.  
  11. O estado "contando" tem a função botao_contador(enum tecla botao) e a função processa_contador() que printa isso no LCD:
  12.  
  13. "Temporizador "
  14. " Inicio"
  15.  
  16. > O estado "menu1" tem a função processa_menu1():
  17. " > Menu (1/4) "
  18. " [Ajustar hora] "
  19. > menu2 tem:
  20. " > Menu (2/4) "
  21. "[Listar eventos]"
  22. > menu3:
  23. " > Menu (3/4) "
  24. " [Criar evento] "
  25. > menu4:
  26. " > Menu (2/4) "
  27. " [Sair do menu] "
  28. > ajuste:
  29. " > Ajuste hora "
  30. " _0:00:00 "
  31.  
  32. > A função botao_menu1(enum tecla botao) por exemplo serve para interpretar o botão pressionado e fazer algo, por exemplo:
  33. */
  34. void botao_menu1(int botao) {
  35. if (botao == btn_direita) {
  36. estado_atual = menu2;
  37. }
  38. }
  39. /*
  40. > 1. Implementar as funções processa_menu1(void) até processa_menu4(void)
  41. > 2. Implementar as funções botao_menu1(...) até botao_menu4(...) para setar o estado_atual dependendo da tecla
  42. > 3. Implementar a função direciona_botao(enum tecla botao) que verifica o estado e chama a função botao_XXXX correspondente
  43. > 4. Implementar a função direciona_processo(void) que verifica o estado e chama a função processa_XXXX correspondente
  44. > São 10 funções que vc tem que implementar
  45.  
  46. > não use HAL_Delay, nem le_teclado, essas coisas vão vir da main(), que eu vou implementar
  47. > Vou implementar também as funções dos estados "ajuste", "lista" e "novo".
  48. */
Add Comment
Please, Sign In to add comment