本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用!
上位机下发格式:
格式一:[A,B]
格式二:A:B
固定格式:auto_test:cmd1
ibrt_test:cmd2
best_test:cmd3
其中格式一,格式二需要自定义测试接口。固定格式针对测试列表:g_bt_cmd_tables
代码流程:
格式一
自定义串口下发指令:[test,cmd1]
代码流程:
app_init-------->app_trace_rx_open-------->app_trace_rx_process---------->app_trace_rx_mailbox_put--------->app_trace_rx_thread------->app_trace_rx_mailbox_get--------->app_trace_rx_process_impl
注册test 格式指令:
app_init-------->app_trace_rx_open-------->app_trace_rx_register
格式二
自定义串口下发指令:[test:cmd1]
代码流程同格式一一致
固定格式串口下发指令:
auto_test:charge_mic
串口RX程序流程:
app_init-------->app_trace_rx_open-------->app_trace_rx_process---------->app_ibrt_peripheral_perform_test--------->app_bt_cmd_perform_test------->app_bt_cmd_thread------->app_bt_cmd_mailbox_get------->app_bt_cmd_line_handler---------->app_bt_cmd_table_execute
注册待测指令流程:
app_init------>app_bt_cmd_init-------->app_ibrt_ui_v2_add_test_cmd_table ----->app_bt_cmd_add_test_table ------->g_bt_cmd_tables(全局列表变量)
注意:调试过程中发现明明格式是正确,但是数据无法正确解析,将波特率由152000降低到921600 才正常。考虑波特率过高数据异常导致。