修复串口组件测试用例

This commit is contained in:
许晟昊 2025-04-29 17:15:43 +08:00
parent 2111544fc8
commit 609d10f12f
7 changed files with 143 additions and 13 deletions

47
.gitignore vendored Normal file
View File

@ -0,0 +1,47 @@
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
*.log
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
.VSCodeCounter
USER/Listings
USER/Objects
build
dist
.vscode/settings.json
/MDK-ARM/.vscode/uv4.log
/MDK-ARM/.cmsis/include
/MDK-ARM/.eide
/MDK-ARM/.vscode/settings.json
/MDK-ARM/.vscode/tasks.json
/MDK-ARM/.clang-format
/MDK-ARM/.vscode/uv4.log.lock
/MDK-ARM/*.hex
/MDK-ARM/*.bin
/MDK-ARM/.pack
MDK-ARM/controller/*.hex
Public/Firmware/*.bin
Public/Firmware/*.hex
Public/SIL认证/*
MDK-ARM/controller.uvguix.xushenghao
MDK-ARM/DebugConfig/controller_STM32L476VGTx.dbgconf
MDK-ARM/RTE/_controller/RTE_Components.h
MDK-ARM/controller/*._2i
# User/static.lib
# Middlewares/ST/ARM/DSP/Lib/arm_cortexM4l_math.lib
User/static-hart.lib
User/static-algorithm.lib

18
.vscode/c_cpp_properties.json vendored Normal file
View File

@ -0,0 +1,18 @@
{
"configurations": [
{
"name": "windows-gcc-x64",
"includePath": [
"${workspaceFolder}/**"
],
"compilerPath": "C:/TDM-GCC-64/bin/gcc.exe",
"cStandard": "${default}",
"cppStandard": "${default}",
"intelliSenseMode": "windows-gcc-x64",
"compilerArgs": [
""
]
}
],
"version": 4
}

24
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,24 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++ Runner: Debug Session",
"type": "cppdbg",
"request": "launch",
"args": [],
"stopAtEntry": false,
"externalConsole": true,
"cwd": "e:/work/stm32/base_lib/component/examples",
"program": "e:/work/stm32/base_lib/component/examples/build/Debug/outDebug",
"MIMode": "gdb",
"miDebuggerPath": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}

8
Makefile Normal file
View File

@ -0,0 +1,8 @@
.PHONY:clean
all: clean
clean:
cmd /c keilkill.bat

View File

@ -31,14 +31,14 @@ int32_t main(void)
// 3插入数据
clist_insert(&head, 5, (cnode)1111);
clist_insert_for_node(&head, head->Next->Next->Next->Next->Next, (cnode)10000);
clist_insert_for_node(&head, head->next->next->next->next->next, (cnode)10000);
clist_insert(&head, 1000, (cnode)2222); // 无效插入
LOG_PRINT("\n 3: count:%d \n", clist_node_count(head));
clist_print(head);
// 4删除指定节点
clist_remove(&head, (cnode)5);
clist_erase_for_node(&head, head->Next->Next);
clist_erase_for_node(&head, head->next->next);
clist_remove(&head, (cnode)1000); // 无效删除
clist_print(head);
LOG_PRINT("\n 4: count:%d \n", clist_node_count(head));

View File

@ -67,6 +67,7 @@ static void data_analysis_event2(void)
out_frame_len = data_read(UART_DATA_ANALYSIS_PORT_2, frame, (uint16_t)frame_len);
if (out_frame_len != frame_len)
{
printf("out_frame_len:%d, frame_len:%d\n", out_frame_len, frame_len);
return;
}
@ -102,20 +103,20 @@ static void data_register1(void)
// 注册数据解析
data_reg_t reg;
reg.sd.valid = true; // 数据头部验证有效标志位
reg.sd.valid = TRUE; // 数据头部验证有效标志位
reg.sd.len = 1; // 数据头部长度
reg.sd.pos = 0; // 数据头部偏移量
reg.sd.data[0] = FRAME_HEAD; // 数据头部数据
reg.ld.len = 2; // 数据长度
reg.ld.pos = 2; // 报文长度包含帧长这里需要设置偏移2
reg.ld.valid = true; // 数据长度有效标志位
reg.ld.little_endian = false; // 数据长度是否小端模式
reg.ld.valid = TRUE; // 数据长度有效标志位
reg.ld.little_endian = FALSE; // 数据长度是否小端模式
reg.argu.len_max = UART_RXSIZE; // 数据最大长度
reg.argu.len_min = 2; // 数据最小长度
reg.ed.valid = true; // 数据尾部有效标志位
reg.ed.valid = TRUE; // 数据尾部有效标志位
reg.ed.len = 1; // 数据尾部长度
reg.ed.data[0] = FRAME_TAIL; // 数据尾部数据
reg.echo_en = false; // 是否回显
reg.echo_en = FALSE; // 是否回显
reg.func_ptr = data_analysis_event1; // 数据解析回调函数 data_analysis模块处理完数据后会调用这个函数继续数据协议的处理
uart_data_analysis_cb = data_fsm_init(UART_DATA_ANALYSIS_PORT_1); // 注册数据处理函数 data_analysis模块会调用这个函数将数据写入到data_analysis模块
data_reg(UART_DATA_ANALYSIS_PORT_1, reg); // 注册数据解析
@ -137,19 +138,19 @@ static void data_register2(void)
// 注册数据解析
data_reg_t reg;
reg.sd.valid = true; // 数据头部验证有效标志位
reg.sd.valid = TRUE; // 数据头部验证有效标志位
reg.sd.len = 2; // 数据头部长度
reg.sd.pos = 0; // 数据头部偏移量
reg.sd.data[0] = FRAME_HEAD1; // 数据头部数据
reg.sd.data[1] = FRAME_HEAD2; // 数据头部数据
reg.ld.len = 2; // 数据长度
reg.ld.pos = 2; // 报文长度包含帧长这里需要设置偏移2
reg.ld.valid = true; // 数据长度有效标志位
reg.ld.little_endian = false; // 数据长度是否小端模式
reg.ld.pos = 0; // 报文长度包含帧长
reg.ld.valid = TRUE; // 数据长度有效标志位
reg.ld.little_endian = FALSE; // 数据长度是否小端模式
reg.argu.len_max = UART_RXSIZE; // 数据最大长度
reg.argu.len_min = 2; // 数据最小长度
reg.ed.valid = false; // 数据尾部有效标志位
reg.echo_en = false; // 是否回显
reg.ed.valid = FALSE; // 数据尾部有效标志位
reg.echo_en = FALSE; // 是否回显
reg.func_ptr = data_analysis_event2; // 数据解析回调函数 data_analysis模块处理完数据后会调用这个函数继续数据协议的处理
uart_data_analysis_cb = data_fsm_init(UART_DATA_ANALYSIS_PORT_2); // 注册数据处理函数 data_analysis模块会调用这个函数将数据写入到data_analysis模块
data_reg(UART_DATA_ANALYSIS_PORT_2, reg); // 注册数据解析

32
keilkill.bat Normal file
View File

@ -0,0 +1,32 @@
del *.bak /s
del *.ddk /s
del *.edk /s
del *.lst /s
del *.lnp /s
del *.mpf /s
del *.mpj /s
del *.obj /s
del *.omf /s
::del *.opt /s ::不允许删除JLINK的设置
del *.plg /s
del *.rpt /s
del *.tmp /s
del *.__i /s
del *.crf /s
del *.o /s
del *.d /s
del *.axf /s
del *.tra /s
del *.dep /s
del JLinkLog.txt /s
del *.iex /s
del *.htm /s
@REM del *.sct /s
del *.map /s
del *.dbgconf /s
del *.uvguix.* /s
del *.orig /s