Files
STM32F4-Base/Drivers/BSP/CH395F/ch395f_test.h

86 lines
2.7 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 模块名称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() 检测可读 socketnet_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 */