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