聚豐項(xiàng)目 > 基于RT-Thread簡單串口記錄儀
基于SD卡以及硬件串口實(shí)現(xiàn)的一個(gè)簡易串口記錄儀。本作品可以通過開發(fā)板的硬件串口來接收串口日志數(shù)據(jù),然后根據(jù)過濾規(guī)則進(jìn)行數(shù)據(jù)的過濾,最后將符合條件的日志保存在SD卡內(nèi),其中日志文件根據(jù)配置文件進(jìn)行自動(dòng)創(chuàng)建。SD卡內(nèi)存有配置文件,用于設(shè)置串口參數(shù)以及過濾規(guī)則文件,用來初始化日志過濾器,從而達(dá)到簡單的過濾效果。本作品可以方便的用于研發(fā)測試過程中產(chǎn)品的測試日志記錄跟蹤,提升開發(fā)測試的效率。
wakojosin
分享wakojosin
團(tuán)隊(duì)成員
范工 嵌入式工程師
開發(fā)板硬件使用情況主要使用了兩個(gè)外設(shè),串口1和SD卡,下面簡單介紹兩部分的作用:
UART1,通過串口1接口被監(jiān)控的設(shè)備的串口數(shù)據(jù),串口接如下圖引腳;
SD卡,
a. 通過SD卡保存串口1收到的串口數(shù)據(jù);
b. 在啟動(dòng)的時(shí)候通過SD卡來加載配置文件,配置串口1的參數(shù)并且配置過濾器。
SD卡接口如下圖:
硬件圖片
RT-Thread使用情況概述:
驅(qū)動(dòng)使用了:串口、Pin、RTC和SD卡;
組件使用了:msh、DFS、Fatfs、ulog、libc等;
內(nèi)核通訊主要使用了信號(hào)量;
軟件框圖:
軟件功能:
1. 初始化過程,首先等待SD卡初始化完成并且完成文件系統(tǒng)的掛載,然后從SD卡讀取過濾列表及過濾類型,然后讀取串口配置文件,最后初始化串口。
2. 循環(huán)邏輯,以行為單位讀取串口日志,然后進(jìn)入過濾器進(jìn)行過濾,根據(jù)過濾器的過濾結(jié)果決定是否保存本行日志,如果保存則執(zhí)行SD卡保存日志的功能。
3. 過濾模式介紹,過濾模式有四種,分別是相等或不相等,開始以及結(jié)尾,其中相等與不相等是互斥出現(xiàn),相等優(yōu)先級(jí)更高,開始和結(jié)尾可以同時(shí)出現(xiàn)也可以同時(shí)沒有,相等表示日志中出現(xiàn)過濾列表中的字符串則被保存入日志文件,不相等則是出現(xiàn)過濾列表中的字符串則不被保存入日志文件;開始和結(jié)尾表示只匹配開始的字符串和(或)只匹配結(jié)尾的字符串。
gitee倉庫地址:https://gitee.com/vandoul/plogger
如下圖,過濾模式是相等,無開始和結(jié)尾限定,即日志中只要出現(xiàn)"uart:"或"spi:"的內(nèi)容就可以存入日志文件。
依次發(fā)送:
uart:send test message2
spi:send test message3
myspi:send test message4
myuart:send test message5
send test message6
通過cat命令查看SD卡的日志文件,可以看到以及保存進(jìn)日志文件的日志符合過濾規(guī)則,未滿足的通過調(diào)試串口打印出來了。
(11.57 MB)下載