当前位置: 首页 > news >正文

MCU通用功能架构与系统集成

MCU的通用功能决定了其在多样化应用场景中的适应性与灵活性。通过集成CPU、RAM、Flash及多种通信与控制外设,MCU能够独立完成数据采集、处理与控制任务。本文聚焦于MCU的功能架构设计,分析其通用输入输出、模拟数字转换、定时控制等核心功能的实现机制,并探讨在系统集成中的优化策略与实际应用案例。

一、概述

mcu 模块是 LuatOS 中封装 MCU 一些特殊操作的核心模块,提供了对 MCU 底层功能的访问和控制能力。

其中 mcu.ticks()、mcu.tick64() 和 mcu.ticks2() 的区别如下:
image

二、核心示例

1、核心示例是指:使用本库文件提供的核心 API,开发的基础业务逻辑的演示代码;

2、核心示例的作用是:帮助开发者快速理解如何使用本库,所以核心示例的逻辑都比较简单;
image

三、常量详解

核心库常量,顾名思义是由 LuatOS 内核固件中定义的、不可重新赋值或修改的固定值,在脚本代码中不需要声明,可直接调用;

每个常量对应的常量取值仅做日志打印时查询使用,不要将这个常量取值用做具体的业务逻辑判断,因为LuatOS内核固件可能会变更每个常量对应的常量取值;

如果用做具体的业务逻辑判断,一旦常量取值发生改变,业务逻辑就会出错;

3.1 mcu.UART

image

3.2 mcu.I2C

image

3.3 mcu.SPI

image

3.4 mcu.PWM

image

3.5 mcu.CAN

image

3.6 mcu.GPIO

image

3.7 mcu.I2S

image

3.8 mcu.LCD

image

3.9 mcu.CAM

image

3.10 mcu.CAMERA

image

3.11 mcu.ONEWIRE

image

3.12 mcu.SDIO

image

3.13 mcu.KEYBORAD

image

3.14 mcu.ETH

image

四、函数详解

mcu.unique_id()
功能

获取设备唯一 ID,基于模块硬件ID生成的唯一标识符。

注意事项

可能包含不可见字符,如需查看建议使用 string.toHex()函数转换后打印。

参数

无。

返回值

local unique_id = mcu.unique_id()

unique_id
image

示例
image

mcu.ticks()
功能

获取启动后的 tick 数。

主要应用于超时检测、状态机计时、按键消抖等场景

计算一个操作的对应毫秒时长可参考下面代码:
image

注意事项

本身是无符号值,范围 0~0xffffffff;

Lua 是有符号计算,计算时超过 0x7fffffff 会变负数;

如需在可预见时间内不会溢出的值, 可用 mcu.ticks2()。

mcu.ticks():32 位计数器,约 49.7 天 溢出一次

mcu.ticks2():64 位计数器,可预见时间内不会溢出。

参数

无。

返回值

local tick = mcu.ticks()

tick
image

示例
image

mcu.hz()
功能

获取每秒的 tick 数量。

通常为 1000(每秒 1000 个 tick);但是也有例外,需要根据这个函数的返回值准确获取。

参数

无。

返回值

local hz = mcu.hz()

hz
image

示例
image

mcu.x32(value)
功能

转换 10 进制数为 16 进制字符串输出。

参数

value
image

返回值

local hex_str = mcu.x32()

hex_str
image

示例
image

mcu.tick64(is_bit64)
功能

获取启动后的高精度 tick。

接口主要用于需要高精度时间测量和长时间运行计时的场景。

计算一个操作的对应毫秒时长可参考下面代码:
image

注意事项

如果支持 bit64 库,可以直接输出转换好的 bit64 结构。

参数

is_bit64
image

返回值

local tick_str, tick_per = mcu.tick64(is_bit64)

tick_str
image

tick_per
image

示例
image

mcu.dtick64(tick1, tick2, check_value)

功能

计算 2 个 64bit tick 的差值。

注意事项

差值如果超过了 0x7fffffff,结果可能是错误的。因为如果是 32 位固件的话,最大有符号正整数是 0x7fffffff,所以如果差值超过这个数就会不准确

参数

tick1
image

tick2
image

check_value
image

返回值

local result, diff_tick = mcu.dtick64(tick1, tick2, check_value)

result
image

diff_tick
image

示例
image

mcu.hardfault(mode)
功能

配置 MCU 死机时的处理模式。

注意事项

此接口使用的时候注意放在代码的最前面,开机就配置。配置的值重启后还会生效。

如果不调用此接口默认是死机后重启,如果调用此接口没有配置mode参数,默认是0死机后停机

死机是指底层死机,脚本语法出现报错不属于死机;死机一般是因为代码中有死循环或者内存不足或看门狗死机或堆栈溢出等情况。

参数

mode
image

返回值

无。

示例
image

mcu.iomux(type, channel, value)

功能

在外设打开前,将外设 IO 复用到非默认配置上。

保留此接口为了兼容老固件,新产品开发需要复用功能请查看 pins 库中的 setup 接口。

注意事项

目前只支持 Air780E 的部分外设复用到其他配置。

这是一个临时接口,新产品开发需要复用功能请查看 pins 库中的 setup 接口。

参数

type
image

channel
image

value
image

返回值

无。

示例

image

mcu.altfun(type, sn, pad_index, alt_fun, is_input)

功能

IO 外设功能复用选择。

保留此接口为了兼容老固件,新产品开发需要复用功能请查看 pins 库中的 setup 接口。

注意事项

普通 MCU 通常是以 GPIO 号为唯一 ID 号,但是专用 SOC,比如 CAT1 的,可能以 PAD 号或者模块 pin 脚号为唯一 ID 号。

本函数不是所有平台适用。

参数

type
image

sn
image

pad_index
image

alt_fun
image

is_input
image

返回值

无。

**示例 **

以Air780E为例,查看GPIO复用表
image
image

mcu.ticks2(mode)
功能

获取高精度的计数。

注意事项

与 mcu.ticks()的区别是,底层计数器是 64bit 的,在可预计的将来不会溢出。

所以本函数返回的值总是递增的,而且 32bit 固件也能处理。

参数

mode
image

返回值

local us_h, us_l = mcu.ticks2(mode)

high
image

low
image

**示例 **

image

五、模组支持说明

支持 LuatOS 开发的所有模组都支持 mcu 核心库。

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

http://www.jsqmd.com/news/416988/

相关文章:

  • 一文读懂MOE:大模型背后的专家分工智慧
  • 2026沈阳隐形车衣口碑优选团队,给你的爱车贴心呵护,汽车车衣/改色膜/玻璃膜/汽车膜/沈北车衣,隐形车衣连锁中心找哪家 - 品牌推荐师
  • 导师推荐! 降AIGC工具 千笔·降AI率助手 VS WPS AI 专科生专属
  • iConsole请求麦克风权限
  • 2026年北京陪诊公司电话推荐:可靠服务电话指南 - 十大品牌推荐
  • 2026全球量子安全产业发展展望报告:抗量子密码与量子保密通信技术趋势及市场预测
  • 无线传感器网络中GAF算法节点特性分析
  • 2026年北京陪诊公司电话推荐:就医助手联系渠道一览 - 十大品牌推荐
  • 2026最新彩色胶源头厂家实力排行榜:基于环保性能与市场口碑的五大供货商权威推荐榜单 - 十大品牌榜
  • Qt5(LGPLv2.1)和 Qt6(LGPLv3)到底差在哪?
  • 由sql动态生成datawindow
  • 探讨京津冀帆布袋定制,哪家服务商能免费设计且靠谱? - 工业设备
  • 河北昇晖环境发展有限公司联系方式:服务流程与注意事项 - 十大品牌推荐
  • 嵌入式设备用 Qt 到底要不要收费?一篇给你讲明白
  • 聊聊成都全屋定制板材加工厂,价格合理且质量好的怎么选? - 工业推荐榜
  • 大学生简历数字可视化版,比纯文字更吸睛。
  • 上海清竹园墓园联系方式:选择陵园前的几点通用建议 - 十大品牌推荐
  • 河北昇晖环境发展有限公司联系方式:城乡环卫服务联系参考 - 十大品牌推荐
  • WinCC高级报表:功能强大的数据分析与输出工具
  • 位操作 之四
  • 少走弯路:千笔写作工具,MBA论文写作神器
  • 2026年波纹金属软管选购指南:优质厂商盘点,真空波纹管/波纹金属软管/阀用波纹管/波纹补偿器,波纹金属软管生产厂家推荐 - 品牌推荐师
  • 看完就会:8个一键生成论文工具测评!专科生毕业论文+开题报告全攻略
  • 河北昇晖环境发展有限公司联系方式:如何有效联系与初步沟通 - 十大品牌推荐
  • 综述不会写?全网爆红的一键生成论文工具 —— 千笔写作工具
  • 禹州市锐翔过滤设备联系方式:官方联系途径与背景简介 - 十大品牌推荐
  • 科融科技专精特新资质代办机构靠谱吗,全国服务质量有保障吗 - 工业品牌热点
  • 混合专家模型 (MoE) 详解
  • 上海清竹园墓园联系方式:了解其服务与环境的参考信息 - 十大品牌推荐
  • 2026年知名的水性漆/水性漆钢构防锈漆怎么选实力工厂参考 - 行业平台推荐