Files
ESPC3-wireless/app/config/board_config.h
2025-02-18 17:41:45 +08:00

44 lines
1.2 KiB
C

/**
* @file board_config.h
* @author LokLiang
* @brief 统一板载硬件描述数据结构
* @version 0.1
* @date 2023-11-24
*
* @copyright Copyright (c) 2023
*
* 目的与作用场景:
* 使同类型的固件适应不同的硬件版本。
* 例如同一类型产品,即使某些功能引脚改动,依然可以根据配置文件正确引导程序,而不需要新增特定的固件版本,旧的产品依然得到长期的支持。
*
* 数据设置:
* 只能在工厂中配置,除此之外不允许任何手段尝试修改。
* 数据地址固定为分区配置中
*
*/
#pragma once
#include "drivers/chip/_hal.h"
#include "sdkconfig.h"
#define GPIO_USED(pin) ((pin) < 255)
typedef struct // 对应 GPIO 单个引脚的输入/输出配置的基础定义
{
uint8_t pin; // 引脚号 (0~254, 255 表示不使用) --OK
uint8_t en_lev; // 触发电平
} cfg_board_pin_io_t;
typedef struct // 数据结构一旦定下不可随意变更
{
/* 硬件描述类 */
hal_uart_hdl_t uart_console; // 控制台
cfg_board_pin_io_t key_boot; // 启动按键
/* 产品功能描述类 */
} cfg_board_t;
extern const cfg_board_t *g_cfg_board; // 配置数据