本文来源电子发烧友社区,作者:辛一, 帖子地址:https://bbs.elecfans.com/jishu_2288937_1_1.html
首先赞一下合宙的LuatOS wiki,做的真的很详细:https://wiki.luatos.com/index.html。手上拿到的这款Air105核心板是基于Air105 MCU设计的一款开发板,开发板尺寸迷你,通过邮票孔设计引出Pin脚,很容易进行拓展连接。
首先赞一下合宙的LuatOS wiki,做的真的很详细:https://wiki.luatos.com/index.html。手上拿到的这款Air105核心板是基于Air105 MCU设计的一款开发板,开发板尺寸迷你,通过邮票孔设计引出Pin脚,很容易进行拓展连接。
Air105 MCU是一款强大的MCU,内核采用Cortex M4F CPU,运算能力有一定的保证。同时配有640KB的大内存,以及4MB的Flash,可以让开发者不必纠结代码结构,大胆“放飞自我”。接口方面有基本的UART、SPI、IIC等串行接口,还带有USB和摄像头DCMI,可以说是应有尽有。另外ADC、DAC、timer等模块可以丰富MCU的应用场景,CRC和TRNG模块能够在信息安全中发挥作用。
总体来看 Air105 MCU真是一块宝。虽然采用ARM的MCU,但是合宙帮我们开发者封装了一层脚本框架LuatOS,基于这个框架可以大大提高开发效率。既然是基于LuatOS,那么就不能使用Keil进行开发。合宙官方推荐的vscode+插件的形式,插件可以在vscode内搜索“LuatOS-SOC推荐拓展包”,有了这个插件可以完成一些LuatOS下代码自动补全的功能。
脚本的烧录是通过串口进行的,需要用到的工具是Luatools。Luatools是一个综合工具,可以完成串口打印debug,也可以完成固件更新,以及脚本上传。
LuatOS的Wiki主页为我们提供不少库和外设的使用方式。其中sys和log基本上是必选的。sys负责嵌入式操作系统任务的创建和调度等任务,加入sys库LuatOS才能够正常运行。
复制代码
而log库可以输出代码信息,方便调试。log可以分为debug、info、warn和error不同等级,可以根据需求屏蔽不同等级的输出,方便了程序调试。
复制代码
为了保证程序不会跑飞,还可以加入看门狗
复制代码
通过上面三个库的使用,可以看到LuatOS很容易上手,大大提高了开发效率。
最后,利用温度传感器和PWM配合,完成了一个自适应的风扇调节系统。
复制代码
- local sys = require "sys"
而log库可以输出代码信息,方便调试。log可以分为debug、info、warn和error不同等级,可以根据需求屏蔽不同等级的输出,方便了程序调试。
- log.setLevel("WARN") -- warn以下等级的log不会输出print(log.getLevel())log.debug(PROJECT, "debug message")log.info(PROJECT, "info message")log.warn(PROJECT, "warn message")log.error(PROJECT, "error message")
为了保证程序不会跑飞,还可以加入看门狗
- -- 添加硬狗防止程序卡死wdt.init(15000)-- 初始化watchdog设置为15ssys.timerLoopStart(wdt.feed, 10000)-- 10s喂一次狗
通过上面三个库的使用,可以看到LuatOS很容易上手,大大提高了开发效率。
最后,利用温度传感器和PWM配合,完成了一个自适应的风扇调节系统。
- sys.taskInit(function()
- local raw = 0
- local mv= 0
- while 1 do
- adc.open(1)
- sys.wait(500)
- raw, mv = adc.read(1)
- log.debug("adc", "adc1", mv)
- if mv >= 1500 then
- pwm.open(5, 1000, 100)
- elseif mv >= 1000 then
- pwm.open(5, 1000, 80)
- elseif mv >= 800 then
- pwm.open(5, 1000, 60)
- elseif mv >= 500 then
- pwm.open(5, 1000, 30)
- elseif mv >= 100 then
- pwm.open(5, 1000, 20)
- else
- pwm.open(5, 1000, 0)
- end
- adc.close(1)
- sys.wait(500)
- end
- end)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
合宙通信
+关注
关注
0文章
147浏览量
1739 -
Air105
+关注
关注
0文章
48浏览量
300
发布评论请先 登录
相关推荐
RNDIS网卡应用看这篇!合宙Air780EP低功耗4G模组AT开发示例
** 1.1 硬件准备 合宙EVB_Air780EP开发板一套,包括天线、SIM卡; USB线 WIN10以上PC电脑 1.2 软件准
嵌入式linux开发板芯片的工作原理
嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台,它广泛应用于工业控制、智能家居、智能交通、医疗设备等领域。
合宙Air780EP模块——AT指令MQTT接入OneNET开发指南
过程,Air780EP和MQTT是最佳拍档,让设备互联变得轻松又靠谱。想不想试试这简单又神奇的操作?那就来吧!本文详细讲解了基于合宙的Air80EP
评论