本次我們要學(xué)習(xí)的是4G模組Air780E的LuatOS開發(fā),關(guān)于位運算(bit)教程分享給大家。
一、位運算概述
位運算是一種在計算機(jī)系統(tǒng)中對二進(jìn)制數(shù)位進(jìn)行操作的運算。由于計算機(jī)內(nèi)部數(shù)據(jù)的存儲和處理都是以二進(jìn)制形式進(jìn)行的,位運算能夠直接對整數(shù)的二進(jìn)制位進(jìn)行高效操作。位運算包括與(&)、或(|)、異或(^)、非(~)、左移(<<)和右移(>>)等基本操作。
二、演示功能概述
本文通過了解位操作的API函數(shù),并用代碼演示功能來熟悉Air780E-LuatOS-軟件 demo-基礎(chǔ)服務(wù)-位運算(bit)。
三、硬件準(zhǔn)備
3.1 Air780E核心板
使用Air780E核心板,如下圖所示:
此核心板的詳細(xì)使用說明參考:
https://docs.openluat.com/air780e/product/
Air780E產(chǎn)品手冊中的 《開發(fā)板Core_Air780E使用說明》,寫這篇文章時最新版本的使用說明為:《開發(fā)板Core_Air780E使用說明》;若在使用過程中遇到任何問題,可以直接參考這份使用說明文檔。
3.2 SIM 卡
中國大陸環(huán)境下,可以上網(wǎng)的sim 卡。一般來說,使用移動/電信/聯(lián)通的物聯(lián)網(wǎng)卡或者手機(jī)卡都行。
3.3 PC 電腦
請準(zhǔn)備一臺配備 USB 接口且能夠正常上網(wǎng)的電腦。
電腦操作系統(tǒng)為:
WIN10以及以上版本的WINDOWS系統(tǒng)。
3.4 數(shù)據(jù)通信線
帶TYPE-C口的USB數(shù)據(jù)線.
四、軟件環(huán)境
4.1 Luatools 工具
要想燒錄LuatOS到4G模組中,需要用到的調(diào)試工具:Luatools
詳細(xì)使用說明參考:
Luatools 工具使用說明:
https://docs.openluat.com/Luatools/
Luatools 工具集具備以下幾大核心功能:
一鍵獲取最新固件:
自動連接服務(wù)器,輕松下載最新的模組固件。
固件與腳本燒錄:
便捷地將固件及腳本文件燒錄至目標(biāo)模組中。
串口日志管理:
實時查看模組通過串口輸出的日志信息,并支持保存功能。
串口調(diào)試助手:
提供簡潔的串口調(diào)試界面,滿足基本的串口通信測試需求。
Luatools下載之后,新建一個命名為 "Luatools" 的文件夾,將下載的Luatools_v3.exe拷貝或移動到新建的Luatools文件夾內(nèi),點擊 Luatools_v3.exe 即可運行。
4.2 準(zhǔn)備需要燒錄的代碼
首先要說明一點:腳本代碼, 要和固件的 soc 文件一起燒錄。
4.2.1燒錄的底層固件文件
底層 core 下載地址:
LuatOS 固件版本下載地址:
https://docs.openluat.com/air780e/luatos/firmware/
Air780E的底層固件在 Luatools 解壓后目錄的:
LuatOS-SoC_V1112_EC618_FULL.soc
4.2.2燒錄的腳本代碼
首先要下載Air780的LuatOS示例代碼到一個合適的項目目錄,示例代碼網(wǎng)站:
https://gitee.com/openLuat/LuatOS-Air780E
下載流程參考下圖:
五、API 說明
位操作支持庫
5.1 bit.bnot( value )
取反,等價于 C 語言中的~
返回值
例子
5.2 bit.band( val1, val2, … valn )
與運算,等價于 C 語言中的 val1 & val2 & … & valn
參數(shù)
返回值
例子
5.3 bit.bor( val1, val2, … valn )
或運算,等價于 C 里面的 val1 | val2 | … | valn
注:對于Air780E建議不要超過多少個參數(shù)
參數(shù)
返回值
例子
5.4 bit.bxor( val1, val2, … valn )
異或運算,等價于 C 語言中的 val1 ^ val2 ^ … ^ valn
參數(shù)
返回值
例子
5.5 bit.lshift( value, shift )
邏輯左移,等價于 C 語言中的 value << shift
參數(shù)
返回值
例子
5.6 bit.rshift( value, shift )
邏輯右移,等價于 C 語言中的 value >> shift
參數(shù)
返回值
例子
5.7 bit.arshift( value, shift )
算數(shù)右移
參數(shù)
返回值
例子
5.8 bit.bit( position )
左移運算,等價于 C 語言中的 1 << position
參數(shù)
返回值
例子
5.9 bit.isset(value, position)
測試位數(shù)是否被置 1
參數(shù)
返回值
例子
5.10 bit.isclear(value, position)
測試位數(shù)是否被置 0
參數(shù)
返回值
例子
5.11 bit.set(value, pos1, pos2, …posn)
置 1
參數(shù)
返回值
例子
5.12 number=bit.clear(value, pos1, pos2, …posn)
置 0
參數(shù)
返回值
例子
六、功能驗證
6.1 示例代碼
下面根據(jù) demo 演示位操作的功能,可以參考以下示例代碼.
示例代碼如下:
6.2 燒錄步驟
6.2.1正確連接電腦和 4G 模組電路板
使用帶有數(shù)據(jù)通信功能的數(shù)據(jù)線,不要使用僅有充電功能的數(shù)據(jù)線.
6.2.2識別 4G 模組的 BOOT 引腳
在下載之前,要用模組的 BOOT 引腳觸發(fā)下載, 也就是說,要把 4G 模組的 BOOT 引腳拉到 1.8v,或者直接把 BOOT 引腳和 VDD_EXT 引腳相連.我們要在按下 BOOT 按鍵時讓模塊開機(jī),就可以進(jìn)入下載模式了.
具體到Air780E開發(fā)板:
1、當(dāng)我們模塊沒開機(jī)時,按著 BOOT 鍵然后長按 POW 開機(jī);
2、當(dāng)我們模塊開機(jī)時,按著 BOOT 鍵然后點按重啟鍵即可。
6.2.3識別電腦的正確端口
判斷是否進(jìn)入 BOOT 模式:模塊上電,此時在電腦的設(shè)備管理器中,查看串口設(shè)備, 會出現(xiàn)一個端口表示進(jìn)入了 BOOT 下載模式,如下圖所示:
6.2.4 用 Luatools 工具燒錄
新建項目
首先,確保你的 Luatools 的版本,大于等于 3.0.6 版本的。
在 Luatools 的左上角上有版本顯示的,如圖所示:
Luatools 版本沒問題的話, 就點擊 Luatools 右上角的“項目管理測試”按鈕,如下圖所示:
這時會彈出項目管理和燒錄管理的對話框,可以新建一個項目,如下圖:
開始燒錄
選擇Air780E板子對應(yīng)的底層 core 和剛改的 main.lua 腳本文件,下載到板子中:
點擊下載后,我們需要進(jìn)入BOOT模式才能正常下載。
如果沒進(jìn)入BOOT模式會出現(xiàn)下圖情況::
進(jìn)入 BOOT 模式下載,如圖:
6.3 對應(yīng) log 信息
分享完畢
審核編輯 黃宇
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44635瀏覽量
373355 -
開發(fā)
+關(guān)注
關(guān)注
0文章
370瀏覽量
40843 -
LuatOS
+關(guān)注
關(guān)注
0文章
76瀏覽量
1941
發(fā)布評論請先 登錄
相關(guān)推薦
評論