12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #ifndef __KEY_H
- #define __KEY_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef __KEY_H_GLOBAL
- #define __KEY_H_EXTERN
- #else
- #define __KEY_H_EXTERN extern
- #endif
- /************************************************************************************************
- * Version *
- ************************************************************************************************/
- /************************************************************************************************
- * How to use *
- ************************************************************************************************/
- /************************************************************************************************
- * Enable config *
- ************************************************************************************************/
- /************************************************************************************************
- * Includes *
- ************************************************************************************************/
- #include <stdint.h>
- /************************************************************************************************
- * Defines *
- ************************************************************************************************/
- /************************************************************************************************
- * Typedefs *
- ************************************************************************************************/
- typedef union
- {
- struct
- {
- uint8_t key_up_state_flag : 1;
- uint8_t key0_state_flag : 1;
- uint8_t key1_state_flag : 1;
- uint8_t key2_state_flag : 1;
- } bits;
- uint8_t key_all_state;
- } key_state_t;
- typedef struct
- {
- key_state_t key_state;
- uint8_t i;
- } key_button_t;
- extern key_button_t key_button;
- /************************************************************************************************
- * Interfaces *
- ************************************************************************************************/
- void key_button_init(void);
- void key_button_task(void);
- #ifdef __cplusplus
- };
- #endif
- #endif // __KEY_H
|