/****************************************************************************** * @file board_pin.h * @brief CBR1 板级引脚、电平与时序(换板只改本文件) * @author cyWu <1917507415@qq.com> * @date 2026.09.04 * @version V1.1.0 * * @note UART0_TX=PC5 在 board_jl701n_demo_cfg.h。 * 过零用 MCPWM FPIN 双沿(CH0 下降 / CH1 上升),勿占这两个 PWM 通道。 * 软件采样兜底必须挂真实 1ms 定时器,禁止在 20ms 节拍里空循环读沿。 ******************************************************************************/ #ifndef __BOARD_PIN_H__ #define __BOARD_PIN_H__ #include "asm/gpio.h" /*============================================================================*/ /* 功能开关:某路硬件异常时可单独关掉,不影响配网 */ /* 0 时对应模块 init/run 直接 return,GPIO 不配,日志打一次 xxx disabled */ /*============================================================================*/ #define BOARD_LED_ENABLE 1 /**< 1=红绿状态 LED(PA7 红 / PA8 绿,低亮) */ #define BOARD_KEY_ENABLE 1 /**< 1=按键 PB1(低按下) */ #define BOARD_RELAY_ENABLE 1 /**< 1=继电器 PC3(高导通) */ #define BOARD_ZC_ENABLE 1 /**< 1=过零 PA1;=0 时开请求禁吸合、关请求强制断开 */ #define BOARD_LINKAGE_ENABLE 1 /* 联动引擎(第 10 章);P2 开 */ #define BOARD_TIMER_ENABLE 1 /* 定时引擎(第 11 章);P2 开 */ #define BOARD_TH_SCAN_ENABLE 1 /* 断连扫描风扇广播(第 8 章);P2 开 */ #define BOARD_RUNREC_ENABLE 1 /* 31 天运行记录(第 13 章);P2 开 */ #define BOARD_NVM_ENABLE 1 /* VM 持久化(第 13 章):加热请求/联动/定时/运行记录 */ /*============================================================================*/ /* GPIO */ /*============================================================================*/ #define BOARD_UART_TX_PIN IO_PORTC_05 /**< 调试 UART TX(cfg: TCFG_UART0_TX_PORT) */ #define BOARD_KEY_PIN IO_PORTB_01 /**< 按键,低电平按下 */ #define BOARD_ZC_PIN IO_PORTA_01 /**< 过零检测,双沿都算一次过零 */ #define BOARD_LED_GREEN_PIN IO_PORTA_08 /**< 绿灯,低电平亮 */ #define BOARD_LED_RED_PIN IO_PORTA_07 /**< 红灯,低电平亮 */ #define BOARD_RELAY_PIN IO_PORTC_03 /**< 继电器,高电平导通(加热开) */ #define BOARD_LED_ON_LEVEL 0 /**< LED 点亮电平:0=低亮 */ #define BOARD_RELAY_ON_LEVEL 1 /**< 继电器有效电平:1=高导通 */ #define BOARD_KEY_ACTIVE_LEVEL 0 /**< 按键有效电平:0=按下为低 */ /*============================================================================*/ /* 按键 / 配对 / OTA */ /*============================================================================*/ /** * 直接作为 key.c 状态机的 keyLongTime/keyLastTime 使用: * 松手时刻