/* * 模块名称:CH395F Driver Test Suite * 模块功能:CH395F 驱动各功能模块的测试入口,分阶段组织测试用例, * 覆盖 SPI 命令路径、协议栈配置、Socket 状态机等 * 适用平台:STM32F4 系列(CH395F 以太网芯片) * 作者:王建锋 * 创建日期:2026-07-19 * 修改记录: */ #ifndef __CH395F_TEST_H #define __CH395F_TEST_H #ifdef __cplusplus extern "C" { #endif /* * 阶段使能开关(取消注释即启用对应阶段) * 注意:Phase 6 (DHCP) 会改变 IP,建议独立运行 */ //#define ENABLE_PHASE1_TESTS /* 寄存器读写 + 中断一致性 */ //#define ENABLE_PHASE2_TESTS /* TCP Client 收发 + 关闭重连 */ //#define ENABLE_PHASE3_TESTS /* UDP Server Echo */ //#define ENABLE_PHASE4_TESTS /* NET 层 TCP Echo(需主循环调用) */ //#define ENABLE_PHASE5_TESTS /* NET 层 UDP Echo(需主循环调用) */ //#define ENABLE_PHASE6_TESTS /* DHCP 自动获取 IP(会改 IP!) */ //#define ENABLE_PHASE7_TESTS /* Select/Poll I/O 多路复用 */ /* * Phase 1: 底层寄存器测试(版本、IP、中断、ARP/TTL 等) * 非破坏性,net_init() 后即可运行 */ void ch395f_phase1_tests(void); /* * Phase 2: TCP Client 功能测试(3 轮收发 + 关闭重连) * 需 PC 端先运行: * python test/ch395f_socket_test.py tcp_server --port 8081 */ void ch395f_phase2_tests(void); /* * Phase 3: UDP Server Echo 测试(HELLO 探针 + PING + 大包) * 需 PC 端先运行: * python test/ch395f_socket_test.py udp_client --ip 192.168.1.100 --port 60000 --timeout 30 */ void ch395f_phase3_tests(void); /* * Phase 4: NET 层 TCP Echo(主循环中运行) * 需 PC 端运行(主循环进入后): * python test/ch395f_socket_test.py tcp_client --ip 192.168.1.100 --port 8080 */ void ch395f_phase4_tests(void); /* * Phase 5: NET 层 UDP Echo(主循环中运行) * 需 PC 端运行(主循环进入后): * python test/ch395f_socket_test.py udp_client --ip 192.168.1.100 --port 60000 --timeout 30 * 限定条件:需在 USER CODE BEGIN 2 中调用 ch395f_phase5_init() 创建 Socket, * USER CODE BEGIN 3 中调用 ch395f_phase5_tests() 做 echo */ void ch395f_phase5_init(void); void ch395f_phase5_tests(void); /* * Phase 6: DHCP 测试 * 自动获取 IP,打印结果。需独立运行(会改变 IP) */ void ch395f_phase6_tests(void); /* * Phase 7: Select/Poll 测试(主循环中运行) * 使用 net_select() 检测可读 socket,net_recv/net_send 回显 * 需 PC 端运行: * python test/ch395f_socket_test.py tcp_client --ip 192.168.1.100 --port 8080 */ void ch395f_phase7_tests(void); #ifdef __cplusplus } #endif #endif /* __CH395F_TEST_H */