UP 按键扫描支持

This commit is contained in:
JiXieShi
2024-06-22 11:08:31 +08:00
parent 99dcb14b60
commit 2d867be49a
13 changed files with 454 additions and 40 deletions

View File

@@ -29,16 +29,16 @@ typedef union {
u16 u16;
} Data16_t;
typedef enum { // 定义枚举类型Type_t包含不同数据类型
U8, // 无符号8位整数
U16, // 无符号16位整数
U32, // 无符号32位整数
T_U8, // 无符号8位整数
T_U16, // 无符号16位整数
T_U32, // 无符号32位整数
CHAR, // 字符
SHORT, // 短整数
INT, // 整数
T_CHAR, // 字符
T_SHORT, // 短整数
T_INT, // 整数
FLOAT, // 浮点数
DOUBLE, // 双精度浮点数
T_FLOAT, // 浮点数
T_DOUBLE, // 双精度浮点数
} Type_t;
#define TYPE_T(v) _Generic((v), \
@@ -69,7 +69,7 @@ typedef enum { // 定义枚举类型Type_t包含不同数据类型
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) // 计算数组的元素个数
#define in , // 定义逗号为in
//#define in , // 定义逗号为in
#define _foreach(e, a) for(size_t e = 0; e < ARRAY_SIZE(a); e++) // 实现foreach宏遍历数组ae为当前元素下标
#define foreach(exp) _foreach(exp) // 定义foreach宏用于遍历数组
@@ -150,7 +150,7 @@ float Str2Float(char *str);
**/
#define PRINT_ARRAY(arr, fmt, frame) do { \
printf("\n"#arr ":\n"); \
foreach(i in arr) {\
for(size_t i = 0; i < ARRAY_SIZE(arr); i++) {\
if(i%frame==0&&i!=0) printf("\n");\
printf(fmt " ", arr[i]); }\
printf("\n"); } while (0)