Luat例項教程:adc
本示例實現的功能是:讀取adc值。
1.在編輯工具建立一個test.lua的檔案(不一定叫這個名字,使用者可以自己隨便取名)
2.設定本檔案被全體可見。也就意味著,一旦test被某一檔案載入,則test在任何檔案中均可被看見,即test中全域性變數和函式均可被任何檔案呼叫。
module(...,package.seeall)
3.定義print函式,除錯用
local function print(...)
_G.print("test",...)
end
4.定義adc_id
local ADC_ID = 0
5.編寫ADC讀取函式
local function read()
--開啟adc
adc.open(ADC_ID)
--讀取adc
--adcval為number型別,表示adc的原始值,無效值為0xFFFF
--voltval為number型別,表示轉換後的電壓值,單位為毫伏,無效值為0xFFFF;adc.read介面返回的voltval放大了3倍,所以需要除以3還原成原始電壓
local adcval,voltval = adc.read(ADC_ID)
print("adc.read",adcval,voltval/3,voltval)
--如果adcval有效
if adcval and adcval~=0xFFFF then
end
--如果voltval有效
if voltval and voltval~=0xFFFF then
--adc.read介面返回的voltval放大了3倍,所以此處除以3
voltval = voltval/3
end
end
6.迴圈讀取adc值
sys.timer_loop_start(read,1000)
7.在編輯工具中建立一個名為main.lua的檔案。lua指令碼的執行從main.lua開始,main.lua是入口檔案(注意:main.lua只能有一個)。在main.lua中把test載入進去就好了。sys.init()是對系統初始化,sys.run()是系統主程式。這兩句必須有。
--重要提醒:必須在這個位置定義MODULE_TYPE、PROJECT和VERSION變數
--MODULE_TYPE:模組型號,目前僅支援Air201、Air202、Air800
--PROJECT:ascii string型別,可以隨便定義,只要不使用,就行
--VERSION:ascii string型別,如果使用Luat物聯雲平臺韌體升級的功能,必須按照"X.X.X"定義,X表示1位數字;否則可隨便定義
MODULE_TYPE = "Air202"
PROJECT = "ADC"
VERSION = "1.0.0"
require"sys"
require"test"
sys.init(0,0)
sys.run()
!!!attention
一個工程只有一個main.lua
- 完整程式碼見下連結
相關文章
- Luat例項教程:tcp短連線TCP
- Java例項教程Java
- ORM 例項教程ORM
- 深入 Laravel Nova 教程例項Laravel
- Web Components 入門例項教程Web
- 【FLASH例項1000教程】(4)上
- expand 與 unexpand 命令例項教程
- 使用原生js實現選項卡功能例項教程JS
- CSS-Flex 佈局教程:例項篇CSSFlex
- PhpSpreadsheet中文文件 | Spreadsheet操作教程例項PHP
- C++設計模式+例項視訊教程C++設計模式
- 執行caffe自帶的mnist例項教程
- Dreamweaver網頁製作教程:表格設計例項網頁
- Vue.js編輯文字--菜鳥教程例項Vue.js
- php例項化物件的例項方法PHP物件
- 原生js使用物件導向的方法開發選項卡例項教程JS物件
- 原生js拖拽功能製作滑動條例項教程JS
- 純原生javascript下拉框表單美化例項教程JavaScript
- OkHttpClient例項HTTPclient
- unittest例項
- jQuery 例項jQuery
- Xamarin Essentials教程實現資料的傳輸功能例項
- onethink構思不錯,好像沒有好的例項教程
- adc/dac
- Activiti的流程例項【ProcessInstance】與執行例項【Execution】
- Python爬蟲教程-17-ajax爬取例項(豆瓣電影)Python爬蟲
- 最新SS園設計模式例項剖析與深入解讀教程設計模式
- 一文說清FISCO BCOS效能壓測(附例項教程)
- 《JavaScript前端開發與例項教程(微課影片版)》簡介JavaScript前端
- 前端基礎功能,原生js實現輪播圖例項教程前端JS
- 例項化list
- msfvenom使用例項
- 雙層 for 例項
- python socket例項Python
- pinctrl使用例項
- Draggable 拖拽例項
- python例項1Python
- 策略模式例項模式