/* * 模块名称:主机侧单测桩 - main.h(net_socket 模块专用) * 模块功能:net_socket.c 从真实 Inc/main.h 只要三样:HAL_GetTick(自旋/超时/挂起预算的 * 唯一致度源)、HAL_GPIO_ReadPin(轮询 CH395F INT#,低电平有效)、 * CH395_INT_GPIO_Port / CH395_INT_Pin(Inc/main.h:60-61,PE5)。 * 引脚名/号按真实头转抄(真值改了就编译期/断言期报错),GPIO_TypeDef 用不透明 * void*(本层不碰寄存器,只需类型能编)。 * ⚠ 仅供主机侧单测使用,不参与 MCU 构建。 * 创建日期:2026-10-24 */ #ifndef MAIN_H #define MAIN_H #include typedef void GPIO_TypeDef; typedef enum { GPIO_PIN_RESET = 0, GPIO_PIN_SET } GPIO_PinState; /* 转抄 Inc/main.h:60-61 */ #define CH395_INT_Pin 0x0020U /* GPIO_PIN_5 */ #define CH395_INT_GPIO_Port ((GPIO_TypeDef *)0) uint32_t HAL_GetTick(void); GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin); /* 每轮 net_poll 时基自走多少毫秒(默认 1ms:轮询本身就要花时间,自走才量得到 * NET_SEND_SPIN_MS 这类"有界自旋"预算;测试可置 0 造"时钟冻结"形态) */ extern uint32_t g_ns_poll_tick_inc; extern uint32_t g_ns_poll_calls; /* net_poll 经 GPIO 读 INT# 的次数(也是跑飞保险计数) */ #endif /* MAIN_H */