chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

3個開源庫讓單片機(jī)開發(fā)更簡單

TopSemic嵌入式 ? 來源:TopSemic嵌入式 ? 作者:TopSemic嵌入式 ? 2022-04-26 09:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,我是小麥,日志系統(tǒng)在系統(tǒng)開發(fā)和調(diào)整過程中的重要性,

大家應(yīng)該都清楚,特別是項(xiàng)目出問題之后,卻沒有日志可以幫忙定位問題,就非常令人痛苦。

因?yàn)槲覀儾豢赡芤恢蓖ㄟ^調(diào)試器去單步調(diào)試程序,所以設(shè)備的運(yùn)行日志顯得尤為重要。

通常我們對日志有這些要求:

  • 不同的日志級別(Debug,Warning, Info, Error, Fatal);
  • 日志打印要和printf一樣簡單易用;
  • 能夠設(shè)置日志級別;
  • 占用空間??;
  • 可配置,甚至可以禁用日志;
  • 基于不同日志級別,支持顏色高亮;
  • 可以自定義配置,時間戳;
  • 支持RTOS;

以上是比較基本的功能,但是在嵌入式設(shè)備中,有的時候我們希望可以保存設(shè)備的運(yùn)行日志,我們需要以下的一些功能;

  • 支持多種訪問方式,比如串口終端,保存到嵌入式文件系統(tǒng)中;
  • 支持shell命令行通過串口終端進(jìn)行訪問;

以上這些需求不一定會全部實(shí)現(xiàn)。

除了常用的log4c,log4cpp,下面給大家推薦3個非常不錯的開源日志庫,比較適合用在單片機(jī)的項(xiàng)目中。從開始的輕量,到后面的功能豐富,最后一個很強(qiáng)大,所以請耐心看到最后。

rxi_log

項(xiàng)目地址:https://github.com/rxi/log.c

基于 C99 實(shí)現(xiàn)的簡單日志庫,具體輸出如下所示;

a7922fac-c4f5-11ec-bce3-dac502259ad0.pngimage-20211204142024466

具體用法

將源碼中的log.clog.h集成到你的項(xiàng)目中即可,需要打印日志的話,調(diào)用下面的API即可,如下所示;

log_trace(constchar*fmt,...);
log_debug(constchar*fmt,...);
log_info(constchar*fmt,...);
log_warn(constchar*fmt,...);
log_error(constchar*fmt,...);
log_fatal(constchar*fmt,...);

除了這些API,還有log_set_quietlog_set_lockLOG_USE_COLOR等等,詳情請看原項(xiàng)目。

ulog

項(xiàng)目地址:https://github.com/rdpoor/ulog

uLog 為嵌入式微控制器或任何資源有限的系統(tǒng)提供結(jié)構(gòu)化的日志記錄機(jī)制。它繼承了流行的 Log4cLog4j 平臺背后的一些概念,但開銷更低。

uLog 的一些特點(diǎn):

  • uLog 易于集成到幾乎任何環(huán)境中,由一個頭文件和一個源文件組成,并且是用純 C 編寫的。
  • uLog 提供熟悉的嚴(yán)重級別(CRITICAL、ERROR、WARNING、INFO、DEBUG、TRACE)。
  • uLog 支持多個用戶定義的輸出(控制臺、日志文件、內(nèi)存緩沖區(qū)等),每個輸出都有自己的報告閾值級別。
  • uLog 是具有最小依賴性的“積極獨(dú)立”,僅需要 stdio.h、string.h 和 stdarg.h。
  • 當(dāng)您不使用 uLog 時,它不會妨礙您:如果 ULOG_ENABLED 在編譯時未定義,則不會生成日志記錄代碼。
  • uLog 已經(jīng)過很好的測試。有關(guān)詳細(xì)信息,請參閱隨附的 ulog_test.c 文件。
a7ac75d8-c4f5-11ec-bce3-dac502259ad0.pngcolor coding

EasyLogger

項(xiàng)目地址:https://github.com/armink/EasyLogger

a7c67dd4-c4f5-11ec-bce3-dac502259ad0.pngTextColor

這個項(xiàng)目我用了很長時間,強(qiáng)烈推薦,是RT-Thread大佬的作品,已經(jīng)集成到RTOS的內(nèi)部了,支持的功能非常豐富,基本滿足各種開發(fā)的需求。

特點(diǎn)如下:

  • 輕量,ROM<1.6K, RAM<0.3K
  • 支持多種訪問模式(例如:終端、文件、數(shù)據(jù)庫、串口、485、Flash...);
  • 日志內(nèi)容可包含級別、時間戳、線程信息、進(jìn)程信息等;
  • 線程安全,并支持 異步輸出緩沖輸出 模式;
  • 支持多種操作系統(tǒng)(RT-Thread、UCOS、Linux、Windows...),也支持裸機(jī)平臺;
  • 日志支持 RAW格式 ,支持 hexdump ;
  • 支持按 標(biāo)簽級別 、 關(guān)鍵詞 進(jìn)行動態(tài)過濾;
  • 各級別日志支持不同顏色顯示;
  • 擴(kuò)展性強(qiáng),支持以插件形式擴(kuò)展新功能。

以上只是這個項(xiàng)目的其中一部分,具體可以參考項(xiàng)目地址。

summary

希望大家在平常的開發(fā)中,重視日志的使用,每一個開發(fā)階段設(shè)置不同級別的日志,不同的模塊也分別設(shè)置模塊的日志,這樣方便定位出現(xiàn)一些問題,快速解決,提高效率。本期的文章就到這里,我們下期再見。

—— The End—

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5186

    文章

    20151

    瀏覽量

    328912
  • 日志系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    7124
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    4033

    瀏覽量

    45573

原文標(biāo)題:高手常用的3個開源庫,讓單片機(jī)開發(fā)事半功倍

文章出處:【微信號:TopSemic,微信公眾號:TopSemic嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    TQKIT開發(fā)板工具系統(tǒng)功能調(diào)用簡單

    TQKIT開發(fā)板工具,將復(fù)雜的系統(tǒng)控制能力以接口形式開放給開發(fā)者,系統(tǒng)功能調(diào)用簡單
    的頭像 發(fā)表于 12-08 09:27 ?85次閱讀
    TQKIT<b class='flag-5'>開發(fā)</b>板工具<b class='flag-5'>讓</b>系統(tǒng)功能調(diào)用<b class='flag-5'>更</b><b class='flag-5'>簡單</b>

    分享一嵌入式開發(fā)學(xué)習(xí)路線

    法,這些語法在嵌入式開發(fā)中至關(guān)重要。 2. 技能進(jìn)階期(2-3月) 從51單片機(jī)過渡到主流的ARM Cortex-M系列(嵌入式就業(yè)核心平臺),學(xué)會使用STM32
    發(fā)表于 12-04 11:01

    怎么學(xué)好單片機(jī)?

    的一些接口可用,也就是說,需要架一簡單的前后臺系統(tǒng),只會寫應(yīng)用軟件,就比較難使用單片機(jī),因?yàn)樗麄儗@些只有硬件,沒有軟件接口的東西,無從下手。 所以,學(xué)單片機(jī),首先學(xué)會硬件,也就是
    發(fā)表于 12-04 07:16

    開發(fā)單片機(jī)需要學(xué)習(xí)什么?軟件編程的 4 關(guān)鍵層次

    ? ? ? ? ? ? ? ? ? ? 開發(fā)單片機(jī)需要學(xué)習(xí)什么?軟件編程的 4 關(guān)鍵層次 單片機(jī)的 “智能” 全靠軟件實(shí)現(xiàn),編程技能需從基礎(chǔ)語法逐步進(jìn)階到復(fù)雜邏輯,每個層次對應(yīng)不同的開發(fā)
    的頭像 發(fā)表于 08-25 11:32 ?580次閱讀

    單片機(jī)用什么封裝

    單片機(jī)封裝是將芯片內(nèi)部電路與外部引腳連接并包裹保護(hù)的結(jié)構(gòu),不僅影響單片機(jī)的安裝方式、適用場景,還與電路設(shè)計(jì)的緊湊性、散熱性能密切相關(guān)。不同封裝類型各有特點(diǎn),適配從簡單電路到復(fù)雜系統(tǒng)的多樣化需求
    的頭像 發(fā)表于 08-01 13:47 ?896次閱讀

    怎么測單片機(jī)系統(tǒng)頻率

    單片機(jī)系統(tǒng)頻率是指單片機(jī)工作時的時鐘頻率,它直接影響單片機(jī)的運(yùn)行速度和處理能力,準(zhǔn)確測量系統(tǒng)頻率對單片機(jī)應(yīng)用開發(fā)、程序調(diào)試和性能優(yōu)化具有重要
    的頭像 發(fā)表于 07-25 11:39 ?477次閱讀

    單片機(jī)怎么燒程序

    單片機(jī)燒程序是將編寫好的程序代碼寫入單片機(jī)內(nèi)部存儲單元,單片機(jī)按照預(yù)設(shè)邏輯工作的過程,是單片機(jī)應(yīng)用開發(fā)
    的頭像 發(fā)表于 07-23 11:47 ?653次閱讀

    低功耗單片機(jī)各型號的對比及選型參考

    不同品牌、不同系列的低功耗單片機(jī)在功耗控制、性能表現(xiàn)、外設(shè)配置等方面各有特點(diǎn),通過低功耗單片機(jī)各型號的對比,能幫助開發(fā)者更精準(zhǔn)地匹配應(yīng)用需求。本文將圍繞主流低功耗單片機(jī)型號展開對比,并
    的頭像 發(fā)表于 07-22 18:25 ?919次閱讀

    單片機(jī)開發(fā)流程包括什么?

    單片機(jī)開發(fā)是一系統(tǒng)性的工程,從需求明確到最終產(chǎn)品落地,需要經(jīng)歷多個相互關(guān)聯(lián)的流程環(huán)節(jié),每個環(huán)節(jié)都對最終產(chǎn)品的性能和質(zhì)量有著重要影響。 一、需求分析與文檔梳理 開發(fā)流程的第一步是需求分
    的頭像 發(fā)表于 07-22 11:21 ?625次閱讀

    單片機(jī)定制開發(fā)的設(shè)計(jì)思路

    單片機(jī)定制開發(fā)是根據(jù)特定場景和功能需求,量身打造符合要求的單片機(jī)應(yīng)用方案,其設(shè)計(jì)過程需要兼顧技術(shù)可行性與實(shí)際應(yīng)用價值,涉及多個關(guān)鍵環(huán)節(jié)。 一、需求分析階段 單片機(jī)定制
    的頭像 發(fā)表于 07-17 11:14 ?590次閱讀
    <b class='flag-5'>單片機(jī)</b>定制<b class='flag-5'>開發(fā)</b>的設(shè)計(jì)思路

    KF32A136系列單片機(jī)產(chǎn)品介紹

    F32A136 系列單片機(jī)是基于 KF32 內(nèi)核架構(gòu)開發(fā)單片機(jī)。
    的頭像 發(fā)表于 06-27 11:42 ?1681次閱讀
    KF32A136系列<b class='flag-5'>單片機(jī)</b>產(chǎn)品介紹

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識

    IDE開發(fā),這對于開發(fā)板來說極易掌握,同時又有足夠的靈活性。Arduino語言是基于Wiring語言開發(fā)的,是對AVR-GCC的二次封裝,并不需要太多的
    發(fā)表于 05-13 09:28

    愛立信如何網(wǎng)絡(luò)運(yùn)維簡單

    在愛立信“可編程網(wǎng)絡(luò)”這一創(chuàng)新概念里,差異化連接、AI賦能和意圖驅(qū)動、網(wǎng)絡(luò)能力開放作為三大基石,各司其職,網(wǎng)絡(luò)智能、更靈活、開放。本期《信觀察》,愛立信專家將從AI賦能和意圖驅(qū)動的概念和功能入手,與您分享愛立信如何“
    的頭像 發(fā)表于 03-03 09:27 ?1w次閱讀

    單片機(jī)Debug工具性能對比 單片機(jī)調(diào)試常用命令

    單片機(jī)(Microcontroller Unit, MCU)調(diào)試是嵌入式開發(fā)中的一重要環(huán)節(jié),它幫助開發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的錯誤,優(yōu)化程序性能。不同的
    的頭像 發(fā)表于 12-19 09:56 ?2172次閱讀

    單片機(jī)Debug與仿真區(qū)別

    單片機(jī)開發(fā)是一復(fù)雜的過程,涉及到硬件設(shè)計(jì)、軟件開發(fā)和測試等多個環(huán)節(jié)。為了確保單片機(jī)能夠按照預(yù)期工作,
    的頭像 發(fā)表于 12-19 09:47 ?1406次閱讀