0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MCU软件核心库及示例代码速览 !

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2025-12-11 17:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为加速嵌入式项目开发,本文对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() 的区别如下表所示:

wKgZPGk6hAuAe67yAAIYfQxcOks318.png

二、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详见源码仓库最新文件。

wKgZPGk6h7uAUqZcAAKEmdyxS_c692.pngwKgZO2k6h9CAJYYCAAE4pcWfQWA255.png

2.2 示例运行结果

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

wKgZPGk6iBCAG9QTAALs3FWcTkU577.png

今天的内容就分享到这里了~


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18640

    浏览量

    388072
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于芯源CW32 MCU的LED闪烁示例代码分析

    最近我在项目中使用了芯源的CW32 MCU,这是一款非常适合物联网和低功耗应用的微控制器。在初步学习和使用中,我做了一个简单的LED闪烁实验,通过这篇帖子给大家分享一下代码及相关的配置步骤。 硬件
    发表于 12-04 06:52

    在CW32F030 MCU上设置外部中断和RTC唤醒条件的示例

    ) // ... // 注意:代码执行到这里后,MCU将进入DeepSleep模式,直到被RTC闹钟中断唤醒 } int main(void) { HAL_Init();// 初始化HAL
    发表于 11-25 08:00

    极简XXTEA加密解密:5分钟代码学!

    XXTEA加密解密的极简实现方法来了!只需5分钟,跟着本文的代码示例学习,你就能快速掌握加密与解密的核心技巧,轻松应用到项目中。 XXTEA (eXtended eXtended Tiny
    的头像 发表于 11-12 14:49 128次阅读
    极简XXTEA加密解密:5分钟<b class='flag-5'>代码</b><b class='flag-5'>速</b>学!

    LuatOS MCU核心全接触:新手操作与功能测试攻略!

     MCU芯片级开发新手如何快速掌握核心技能?本文围绕LuatOS的MCU核心,系统演示时钟频率获取、唯一ID读取、高精度计时、IO复用配置
    的头像 发表于 11-12 14:30 166次阅读
    LuatOS <b class='flag-5'>MCU</b><b class='flag-5'>核心</b><b class='flag-5'>库</b>全接触:新手操作与功能测试攻略!

    新手必备:LuatOS MCU核心功能测试与实践指南

    新手如何快速掌握MCU芯片级开发?本文通过LuatOS的MCU核心,全面演示时钟频率获取、唯一ID读取、高精度计时、IO复用配置等核心功能
    的头像 发表于 11-12 14:26 168次阅读
    新手必备:LuatOS <b class='flag-5'>MCU</b><b class='flag-5'>核心</b><b class='flag-5'>库</b>功能测试与实践指南

    划重点!一图浦江开源鸿蒙生态大会金句

    划重点!一图浦江开源鸿蒙生态大会金句
    的头像 发表于 10-16 17:29 382次阅读
    划重点!一图<b class='flag-5'>速</b><b class='flag-5'>览</b>浦江开源鸿蒙生态大会金句

    HTTP开发必备:核心与httpplus扩展应用示例全攻略

    HTTP开发的必备参考!本文汇总核心基础操作与httpplus扩展高级特性,通过示例解析,让你快速上手各类HTTP开发需求。
    的头像 发表于 09-20 15:19 3047次阅读
    HTTP开发必备:<b class='flag-5'>核心</b><b class='flag-5'>库</b>与httpplus扩展<b class='flag-5'>库</b>应用<b class='flag-5'>示例</b>全攻略

    请问如何构建 emWin 示例代码

    如何构建 emWin 示例代码
    发表于 09-04 07:25

    AT32 MCU如何使用IAP

    ,下面将详细介绍其步骤和技术要点: 准备工程和源码 获取软件和源码 :首先需要从BSP固件的utilities文件夹中获取支持IAP的上位机软件示例
    发表于 08-08 17:13

    CW32L010 MCU在VSCode+GCC+EIDE+JLink下的使用示例

    CW32L010 MCU 在VSCode+GCC+ EIDE + JLink 下的使用示例: 1、点击VSCode左边栏中的Extensions,在EXTENSIONS:MARKETPLACE搜索
    的头像 发表于 07-01 14:52 826次阅读
    CW32L010 <b class='flag-5'>MCU</b>在VSCode+GCC+EIDE+JLink下的使用<b class='flag-5'>示例</b>

    如何获取SMBus示例代码

    想找一个用硬件SMBus外设的示例代码,但是在网上找到的很多都是HAL的版本,我目前的代码是用的标准,想知道ST官方有没有相关的
    发表于 03-10 07:16

    一文 30KPA48A:快速响应,为电路安全保驾护航

    一文 30KPA48A:快速响应,为电路安全保驾护航
    的头像 发表于 02-22 10:15 891次阅读
    一文<b class='flag-5'>速</b><b class='flag-5'>览</b> 30KPA48A:快速响应,为电路安全保驾护航

    用于 SPI 绝对编码器的 Arduino 示例代码

    (SPI) 通信来配置和读取 [Same Sky] 的 [AMT22 绝对编码器] 的数据。该教程将提供所需的硬件和软件、关键设置要求以及单圈和多圈输出选项的示例代码包和说明。以下是入门工作所需的物料清单
    的头像 发表于 01-26 21:35 1339次阅读
    用于 SPI 绝对编码器的 Arduino <b class='flag-5'>示例</b><b class='flag-5'>代码</b>

    集成NPU的MCU,ST、PI等新品

     意法半导体、Microchip、英飞凌、PI等全球半导体头部厂商发布新品,包括MCU、电容式触摸控制器、三相栅极驱动器和开关IC。 本周,全球多家半导体头部厂商发布多款芯片新品,涉及MCU芯片
    的头像 发表于 12-23 11:34 1608次阅读
    集成NPU的<b class='flag-5'>MCU</b>,ST、PI等新品<b class='flag-5'>速</b><b class='flag-5'>览</b>

    瑞萨、ST、英飞凌等最新产品

    多家半导体大厂发布新品!涵盖低功耗MCU、全桥变压器驱动器、USB PD EPR解决方案等等新产品。 本周,瑞萨、ST、英飞凌、合泰发布多款低功耗MCU、全桥变压器驱动器等新品,应
    的头像 发表于 12-16 10:16 1307次阅读
    瑞萨、ST、英飞凌等最新产品<b class='flag-5'>速</b><b class='flag-5'>览</b>!