ConfigMacros.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #ifndef __CONFIGMACROS_H
  2. #define __CONFIGMACROS_H
  3. #include "oled.h"
  4. #include "key.h"
  5. #include "interface.h"
  6. /**
  7. * @breaf 简化函数单体
  8. */
  9. #define open16 11 //开字
  10. #define close16 12 //关字
  11. #define resetDevAddr ((uint32_t)0x8075000)
  12. #define TIM_Start(htim) HAL_TIM_Base_Start_IT(htim)
  13. #define LED_TOGGLE(pin) HAL_GPIO_TogglePin(GPIOC, (pin)) //运行灯
  14. #define UART_PRINT(huart) HAL_UART_Transmit(huart, (uint8_t *)&ch, 1, 0xFFFF);
  15. #define PRINT_MENU_STATUS(key) printf("--->%s pressed\t%d %d %d %d\n", key, menu.current, menu.up, menu.next, menu.enter)
  16. #define HELLO(message) printf("%s\r\n", message)
  17. /**
  18. * @breaf 简化函数多体
  19. */
  20. #define OLED_DISPLAY(color, display) do { \
  21. OLED_Init(); \
  22. OLED_ColorTurn(color); \
  23. OLED_DisplayTurn(display); \
  24. } while(0)
  25. #define SET_MENU_STATUS(current_value, up_value, next_value, enter_value) \
  26. do { \
  27. menu.current = current_value; \
  28. menu.up = up_value; \
  29. menu.next = next_value; \
  30. menu.enter = enter_value; \
  31. refresh = true;\
  32. } while(0)
  33. #define TOGGLE_WDI_PIN(htim_instance) \
  34. do { \
  35. if ((htim_instance)->Instance == TIM2) { \
  36. HAL_GPIO_TogglePin(WDI_GPIO_Port, WDI_Pin); \
  37. } \
  38. } while(0)
  39. #define UPDATE_EXECUTE_REFRESH() \
  40. do { \
  41. updatekeystate(); \
  42. execute_interface(menu); \
  43. OLED_Refresh(); \
  44. } while(0)
  45. #define IDLE_DMA_UART(huart) do {\
  46. __HAL_UART_ENABLE_IT(huart, UART_IT_IDLE); \
  47. HAL_UART_Receive_DMA(huart, recvBuff, 2048); \
  48. } while(0)
  49. #define RXNE_UART(huart) __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE)
  50. #define RESET_BT_MODULE() \
  51. if(resetBTmodule) { \
  52. MBA32A_Init(); \
  53. }
  54. /**
  55. * @breaf 定义测试开关
  56. */
  57. #define Test_old 1 //前期测试
  58. #define keyDebuginfo 1
  59. /**
  60. * @breaf 结构体定义
  61. */
  62. typedef struct
  63. {
  64. uint8_t current; //当前状态索引号
  65. uint8_t up; //向下一个
  66. uint8_t next; //向下一个
  67. uint8_t enter; //确定
  68. unsigned char* sn; //sn
  69. uint32_t home;
  70. } Menu_table;
  71. struct keys
  72. {
  73. unsigned char judge_sta; //判断按键按键按下的动作到了第几步
  74. bool key_sta; //如果按键被按下,为0
  75. bool key_flag; //如果确认被按下,为1
  76. };
  77. typedef struct
  78. {
  79. uint32_t serialNum; //4字节流水号
  80. uint32_t userId; //4字节userid
  81. uint32_t Ntime; //4字节时间
  82. uint8_t Autoseal; //1字节自动施封
  83. } Bt_frame;
  84. #endif /*__CONFIGMACROS_H*/