為加速嵌入式項目開發,本文對MCU軟件核心庫進行整體速覽,涵蓋初始化、外設控制與中斷處理等關鍵部分,并結合簡潔示例代碼,幫助開發者快速理解與應用庫功能。
一、MCU核心庫函數功能
MCU核心庫是LuatOS中封裝MCU一些特殊操作的核心模塊,提供了對MCU底層功能的訪問和控制能力,是開發高級功能和系統調試的重要工具。
相關函數及其主要功能如下:
mcu.unique_id()
獲取設備唯一ID,基于模塊硬件ID生成的唯一標識符。
mcu.ticks()
獲取啟動后的tick數。主要應用于超時檢測、狀態機計時、按鍵消抖等場景。
mcu.hz()
獲取每秒的tick數量。通常為1000(每秒1000 個tick);但是也有例外,需要根據這個函數的返回值準確獲取。
mcu.x32(value)
用于轉換10進制數為16進制字符串輸出。
mcu.tick64(is_bit64)
獲取啟動后的高精度tick。接口主要用于需要高精度時間測量和長時間運行計時的場景。
mcu.dtick64(tick1, tick2, check_value)
計算2個64bit tick的差值。
mcu.hardfault(mode)
配置MCU死機時的處理模式。
mcu.ticks2(mode)
獲取高精度的計數。與mcu.ticks()的區別是,底層計數器是64bit的,在可預計的將來不會溢出。
其中,mcu.ticks()、mcu.tick64() 和mcu.ticks2() 的區別如下表所示:

二、MCU核心庫應用示例
本文以Air780EPM核心板為例,演示如何使用LuatOS的MCU核心庫進行芯片級功能測試,包括時鐘頻率獲取、唯一ID讀取、高精度計時、IO復用配置等核心功能,幫助開發者快速上手。
實際應用中,可結合具體業務需求靈活調整。
Air780EPM應用示例持續更新中,最新資料詳見下方鏈接。
最新示例源碼:
https://gitee.com/openLuat/LuatOS/tree/master/module/Air780EPM/demo/mcu
實操教程詳見:
https://docs.openluat.com/air780epm/luatos/app/common/mcu/
2.1 代碼要點解析
使用Air780EPM核心板測試MCU相關功能,包括:
MCU死機時的處理模式設置
唯一ID獲取與顯示
系統tick計數功能測試
64位tick計數和差值計算
微秒、毫秒、秒級別的時間計數
16進制字符串轉換輸出
mcu_test.lua示例代碼如下,完整demo詳見源碼倉庫最新文件。


2.2 示例運行結果
Air780EPM核心板通過LuaTools燒錄內核固件和demo腳本代碼,燒錄成功后開機運行,即可查看日志。

今天的內容就分享到這里了~
審核編輯 黃宇
-
mcu
+關注
關注
147文章
18669瀏覽量
388979
發布評論請先 登錄
基于芯源CW32 MCU的LED閃爍示例及代碼分析
在CW32F030 MCU上設置外部中斷和RTC喚醒條件的示例
極簡XXTEA加密解密:5分鐘代碼速學!
LuatOS MCU核心庫全接觸:新手操作與功能測試攻略!
物聯網短信實戰:SMS庫收發功能速成來啦!
AT32 MCU如何使用IAP
CW32L010 MCU在VSCode+GCC+EIDE+JLink下的使用示例
用于 SPI 絕對編碼器的 Arduino 示例代碼
集成NPU的MCU,ST、PI等新品速覽

MCU軟件核心庫及示例代碼速覽 !
評論