分享幾個非常不錯嵌入式開源項目,一定不要錯過
大家好,我是知微!
經常有小伙伴后臺私信我:
- 有沒有好的開源項目推薦
- 怎么樣才能提升自己的編程能力
那么這篇文章就推薦幾個還不錯的開源項目,感興趣的小伙伴可以學習一下!
日志庫EasyLogger
開發一個項目,如果沒有日志的記錄,當遇到問題需要分析并解決的時候,就會變得比較棘手。
EasyLogger是一款超輕量級(ROM<1.6K, RAM<0.3K)、高性能的 C/C++ 日志庫,非常適合對資源敏感的軟件項目。
主要特性
- 支持用戶自定義輸出方式(例如:終端、文件、數據庫、串口、485、Flash...);
- 日志內容可包含級別、時間戳、線程信息、進程信息等;
- 日志輸出被設計為線程安全的方式,并支持 異步輸出 及 緩沖輸出 模式;
- 支持多種操作系統(RT-Thread、UCOS、Linux、Windows、Nuttx...),也支持裸機平臺;
- 日志支持 RAW格式 ,支持 hexdump ;
- 支持按 標簽 、 級別 、 關鍵詞 進行動態過濾;
- 各級別日志支持不同顏色顯示;
- 擴展性強,支持以插件形式擴展新功能。

多功能按鍵MultiButton
MultiButton 是一個小巧簡單易用的事件驅動型按鍵驅動模塊,可無限量擴展按鍵,按鍵事件的回調異步處理方式可以簡化你的程序結構,去除冗余的按鍵處理硬編碼,讓你的按鍵業務邏輯更清晰。
- 它支持以下的按鍵事件
| PRESS_DOWN | 按鍵按下,每次按下都觸發 |
|---|---|
| PRESS_UP | 按鍵彈起,每次松開都觸發 |
| PRESS_REPEAT | 重復按下觸發,變量repeat計數連擊次數 |
| SINGLE_CLICK | 單擊按鍵事件 |
| DOUBLE_CLICK | 雙擊按鍵事件 |
| LONG_PRESS_START | 達到長按時間閾值時觸發一次 |
| LONG_PRESS_HOLD | 長按期間一直觸發 |
軟件定時器模塊MultiTimer
MultiTimer 是一個軟件定時器擴展模塊,可無限擴展你所需的定時器任務,取代傳統的標志位判斷方式, 更優雅更便捷地管理程序的時間觸發時序。
在使用的時候,下面幾個事項,需要注意一下
-
定時器的時鐘頻率直接影響定時器的精確度,盡可能采用1ms/5ms/10ms這幾個精度較高的tick;
-
定時器的回調函數內不應執行耗時操作,否則可能因占用過長的時間,導致其他定時器無法正常超時;
-
由于定時器的回調函數是在 MultiTimerYield 內執行的,需要注意棧空間的使用不能過大,否則可能會導致棧溢出。
輕量級系統框架mr-library
MR 框架是專為嵌入式系統設計的輕量級框架。充分考慮了嵌入式系統在資源和性能方面的需求。 通過提供標準化的設備管理接口,極大簡化了嵌入式應用開發的難度,幫助開發者快速構建嵌入式應用程序

MR 提供 Kconfig 可視化配置工具,開發者無需深入了解源代碼即可進行配置。
Kconfig 會根據配置文件自動生成配置選項界面。開發者可以通過簡單的操作來選擇需要啟用的功能組件和設置相關參數。


暫時就分享這么多了,小伙伴們也不要心急貪多。要想真正學會一件事情,一定需要動手實踐,趕緊行動起來吧!
??歡迎各位 ??點贊 ?收藏 ??評論,如有錯誤請留言指正,非常感謝!

浙公網安備 33010602011771號