时间紧,任务重?MCU核心库+示例速览

LuatOS开发的所有产品,都支持MCU核心库。LuatOS的MCU核心库通过简洁实用的API,将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() 的区别如下表所示:

01 函数对比图251105 01NEW.png

二、MCU核心库应用示例

本文以Air780EPM核心板为例,演示如何使用LuatOS的MCU核心库进行芯片级功能测试,包括时钟频率获取、唯一ID读取、高精度计时、IO复用配置等核心功能,帮助开发者快速上手。

实际应用中,可结合具体业务需求灵活调整。

2.1 代码要点解析

使用Air780EPM核心板测试MCU相关功能,包括:

  • MCU死机时的处理模式设置

  • 唯一ID获取与显示

  • 系统tick计数功能测试

  • 64位tick计数和差值计算

  • 微秒、毫秒、秒级别的时间计数

  • 16进制字符串转换输出

mcu_test.lua示例代码如下,完整demo详见源码仓库最新文件。

D01.png

2.2 示例运行结果

Air780EPM核心板通过LuaTools烧录内核固件和demo脚本代码,烧录成功后开机运行,即可查看日志。

02运行结果25110502NEW.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值