本文來源電子發(fā)燒友社區(qū),作者:辛一, 帖子地址:https://bbs.elecfans.com/jishu_2288937_1_1.html
首先贊一下合宙的LuatOS wiki,做的真的很詳細(xì):https://wiki.luatos.com/index.html。手上拿到的這款Air105核心板是基于Air105 MCU設(shè)計(jì)的一款開發(fā)板,開發(fā)板尺寸迷你,通過郵票孔設(shè)計(jì)引出Pin腳,很容易進(jìn)行拓展連接。
首先贊一下合宙的LuatOS wiki,做的真的很詳細(xì):https://wiki.luatos.com/index.html。手上拿到的這款Air105核心板是基于Air105 MCU設(shè)計(jì)的一款開發(fā)板,開發(fā)板尺寸迷你,通過郵票孔設(shè)計(jì)引出Pin腳,很容易進(jìn)行拓展連接。
Air105 MCU是一款強(qiáng)大的MCU,內(nèi)核采用Cortex M4F CPU,運(yùn)算能力有一定的保證。同時(shí)配有640KB的大內(nèi)存,以及4MB的Flash,可以讓開發(fā)者不必糾結(jié)代碼結(jié)構(gòu),大膽“放飛自我”。接口方面有基本的UART、SPI、IIC等串行接口,還帶有USB和攝像頭DCMI,可以說是應(yīng)有盡有。另外ADC、DAC、timer等模塊可以豐富MCU的應(yīng)用場景,CRC和TRNG模塊能夠在信息安全中發(fā)揮作用。
總體來看 Air105 MCU真是一塊寶。雖然采用ARM的MCU,但是合宙幫我們開發(fā)者封裝了一層腳本框架LuatOS,基于這個(gè)框架可以大大提高開發(fā)效率。既然是基于LuatOS,那么就不能使用Keil進(jìn)行開發(fā)。合宙官方推薦的vscode+插件的形式,插件可以在vscode內(nèi)搜索“LuatOS-SOC推薦拓展包”,有了這個(gè)插件可以完成一些LuatOS下代碼自動(dòng)補(bǔ)全的功能。
腳本的燒錄是通過串口進(jìn)行的,需要用到的工具是Luatools。Luatools是一個(gè)綜合工具,可以完成串口打印debug,也可以完成固件更新,以及腳本上傳。
LuatOS的Wiki主頁為我們提供不少庫和外設(shè)的使用方式。其中sys和log基本上是必選的。sys負(fù)責(zé)嵌入式操作系統(tǒng)任務(wù)的創(chuàng)建和調(diào)度等任務(wù),加入sys庫LuatOS才能夠正常運(yùn)行。
復(fù)制代碼
而log庫可以輸出代碼信息,方便調(diào)試。log可以分為debug、info、warn和error不同等級(jí),可以根據(jù)需求屏蔽不同等級(jí)的輸出,方便了程序調(diào)試。
復(fù)制代碼
為了保證程序不會(huì)跑飛,還可以加入看門狗
復(fù)制代碼
通過上面三個(gè)庫的使用,可以看到LuatOS很容易上手,大大提高了開發(fā)效率。
最后,利用溫度傳感器和PWM配合,完成了一個(gè)自適應(yīng)的風(fēng)扇調(diào)節(jié)系統(tǒng)。
復(fù)制代碼
- local sys = require "sys"
而log庫可以輸出代碼信息,方便調(diào)試。log可以分為debug、info、warn和error不同等級(jí),可以根據(jù)需求屏蔽不同等級(jí)的輸出,方便了程序調(diào)試。
- log.setLevel("WARN") -- warn以下等級(jí)的log不會(huì)輸出print(log.getLevel())log.debug(PROJECT, "debug message")log.info(PROJECT, "info message")log.warn(PROJECT, "warn message")log.error(PROJECT, "error message")
為了保證程序不會(huì)跑飛,還可以加入看門狗
- -- 添加硬狗防止程序卡死wdt.init(15000)-- 初始化watchdog設(shè)置為15ssys.timerLoopStart(wdt.feed, 10000)-- 10s喂一次狗
通過上面三個(gè)庫的使用,可以看到LuatOS很容易上手,大大提高了開發(fā)效率。
最后,利用溫度傳感器和PWM配合,完成了一個(gè)自適應(yīng)的風(fēng)扇調(diào)節(jié)系統(tǒng)。
- 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)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
合宙通信
+關(guān)注
關(guān)注
0文章
148瀏覽量
1813 -
Air105
+關(guān)注
關(guān)注
0文章
48瀏覽量
306
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
RNDIS網(wǎng)卡應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例
** ? 1.1 硬件準(zhǔn)備 合宙EVB_Air780EP開發(fā)板一套,包括天線、SIM卡; USB線 WIN10以上PC電腦 1.2 軟件準(zhǔn)
FTP應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例
780EX/Air724UG… **一、相關(guān)準(zhǔn)備工作 ** ? 1.1 硬件準(zhǔn)備 合宙EVB_Air780EP
嵌入式linux開發(fā)板怎么操作
嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái)。它通常包括一個(gè)處理器、內(nèi)
嵌入式linux開發(fā)板芯片的工作原理
嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái),它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。
合宙Air780EP模塊——AT指令MQTT接入OneNET開發(fā)指南
過程,Air780EP和MQTT是最佳拍檔,讓設(shè)備互聯(lián)變得輕松又靠譜。想不想試試這簡單又神奇的操作?那就來吧!本文詳細(xì)講解了基于合宙的Air80EP
MQTT應(yīng)用看這篇!合宙Air780EP_LuatOS_MQTT應(yīng)用指南
Air780EP 是合宙的低功耗4G模組之一,支持LuatOS的腳本二次開發(fā),即使是不太懂技術(shù)的
評(píng)論