- 创建了项目的基本目录结构和文件 - 添加了 CMakeLists.txt 和 Makefile 构建配置 - 创建了 main.c 文件,实现了简单的 LED 闪烁和按键检测功能 - 集成了 SEGGER RTT 库 - 添加了 .gitignore 文件,排除了不必要的生成文件
56 lines
1.7 KiB
C
56 lines
1.7 KiB
C
#ifndef __GE_INTERFACE_H__
|
|
#define __GE_INTERFACE_H__
|
|
|
|
#include "include/ge_input.h"
|
|
#include "include/ge_render.h"
|
|
#include "include/ge_resource.h"
|
|
#include "include/ge_timer.h"
|
|
#include <pynic_log/pynic_log.h>
|
|
|
|
extern ge_input_t ge_input;
|
|
extern ge_render_t ge_render;
|
|
extern ge_resource_t ge_resource;
|
|
extern ge_timer_t ge_timer;
|
|
|
|
enum {
|
|
GE_ITYPE_NONE,
|
|
GE_ITYPE_KEY_1,
|
|
GE_ITYPE_KEY_2,
|
|
GE_ITYPE_KEY_3,
|
|
GE_ITYPE_KEY_4,
|
|
GE_ITYPE_KEY_L1H1,
|
|
GE_ITYPE_KEY_L1H2,
|
|
GE_ITYPE_KEY_L1H3,
|
|
GE_ITYPE_KEY_L1H4,
|
|
GE_ITYPE_KEY_L2H1,
|
|
GE_ITYPE_KEY_L2H2,
|
|
GE_ITYPE_KEY_L2H3,
|
|
GE_ITYPE_KEY_L2H4,
|
|
GE_ITYPE_KEY_L3H1,
|
|
GE_ITYPE_KEY_L3H2,
|
|
GE_ITYPE_KEY_L3H3,
|
|
GE_ITYPE_KEY_L3H4,
|
|
GE_ITYPE_KEY_L4H1,
|
|
GE_ITYPE_KEY_L4H2,
|
|
GE_ITYPE_KEY_L4H3,
|
|
GE_ITYPE_KEY_L4H4,
|
|
};
|
|
|
|
#define GE_FAST_SET_ON(name) (name##_GPIO_Port->BSRR = name##_Pin)
|
|
#define GE_FAST_SET_OFF(name) (name##_GPIO_Port->BRR = name##_Pin)
|
|
// #define GE_FAST_SET_OFF(name) (name##_GPIO_Port->BSRR = (uint32_t)name##_Pin << 16u;)
|
|
|
|
#define GE_SET_STATE(name, state) HAL_GPIO_WritePin(name##_GPIO_Port, name##_Pin, state)
|
|
#define GE_SET_ON(name) GE_SET_STATE(name, GPIO_PIN_SET)
|
|
#define GE_SET_OFF(name) GE_SET_STATE(name, GPIO_PIN_RESET)
|
|
|
|
#define GE_LED_SET(num, state) HAL_GPIO_WritePin(LED_##num##_GPIO_Port, LED_##num##_Pin, state);
|
|
#define GE_LED_TOGGLE(num) HAL_GPIO_TogglePin(LED_##num##_GPIO_Port, LED_##num##_Pin);
|
|
#define GE_LED_ON(num) GE_LED_SET(num, GPIO_PIN_SET)
|
|
#define GE_LED_OFF(num) GE_LED_SET(num, GPIO_PIN_RESET)
|
|
#define GE_IS_BIN_PRESSD(num) (HAL_GPIO_ReadPin(KEY_##num##_GPIO_Port, KEY_##num##_Pin) == GPIO_PIN_RESET)
|
|
|
|
void input_btn_func(ge_input_t* ctx);
|
|
|
|
#endif // __GE_INTERFACE_H__
|