泰凌微TLSR8258芯片解決方案開發之串口打印級別設置


一  TRSR8258簡介

     該芯片是泰凌微推出來的一款純ble的芯片,接口豐富,功耗低,資源豐富,非常適合做可穿戴物聯網設備,筆者拿這顆芯片做了不少方案,感覺非常好用,所以這里寫一下使用心得。

二 串口的重要性

    對於嵌入式軟件工程師來說,再也沒有能看到hello world的日志打印讓人興奮的事情了,只要有打印日志,問題都是可以解決的。知道串口的重要性了吧。所以,筆者有一個習慣,無論什么芯片,先把

串口打印優化好,把打印級別,打印函數寫好,並用好,這個能極大的節省調試時間。

 

三 源碼分析

  8258的原廠日志比較粗糙,我們做了不少優化,主要有幾個方面:

1 增加打印級別的控制

2 增加數據dump的函數

3 增加強制換行

 

具體代碼如下:

    #define LOG_DEBUG(str, ...) printf("[DEBUG]:"str "\r\n", ##__VA_ARGS__)
    #define LOG_INFO(str, ...)  printf("[INFO]:"str "\r\n", ##__VA_ARGS__)
    #define LOG_ERR(str, ...)   printf("[ERR]:"str "\r\n", ##__VA_ARGS__)
    #define FUNC_ENTER()          //printf("[INFO]:%s Enter\r\n", __func__)
    #define FUNC_EXIT()          //printf("[INFO]:%s Exit\r\n", __func__)
    #define DUMP8(data, len)    dump8(data, len)

 

四 結果總結

  這樣,打印出來的日志就好看了,簡單明晰,如下圖所示:

[INFO]:driver_init Done
[INFO]:os_init Done
[INFO]:OS Task Init Done
[INFO]:Main Loop Starting...
[INFO]:factory test unaccomplished
[INFO]:power value check
[INFO]:power value:430,vol_state:1
[INFO]:local leds start mode:1 
[INFO]:sunlight_mode_local:warm: 50 cold:50 
[INFO]:version number:  1.21   
[INFO]:sys rtc time: 2020-09-13, 10:40:51 now_sec:0 
[INFO]:b_ble_state:0 b_rx_notify_enable:0 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM