伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Air780E模組LuatOS開發的位運算(bit)教程篇!

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-11-26 11:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本次我們要學習的是4G模組Air780E的LuatOS開發,關于位運算(bit)教程分享給大家。

一、位運算概述

位運算是一種在計算機系統中對二進制數位進行操作的運算。由于計算機內部數據的存儲和處理都是以二進制形式進行的,位運算能夠直接對整數的二進制位進行高效操作。位運算包括與(&)、或(|)、異或(^)、非(~)、左移(<<)和右移(>>)等基本操作。

二、演示功能概述

本文通過了解位操作的API函數,并用代碼演示功能來熟悉Air780E-LuatOS-軟件 demo-基礎服務-位運算(bit)。

三、硬件準備

3.1 Air780E核心板

使用Air780E核心板,如下圖所示:

wKgaoWdFRBuAEqxQAAKFVHMZb20008.png

此核心板的詳細使用說明參考:
https://docs.openluat.com/air780e/product/

Air780E產品手冊中的 《開發板Core_Air780E使用說明》,寫這篇文章時最新版本的使用說明為:《開發板Core_Air780E使用說明》;若在使用過程中遇到任何問題,可以直接參考這份使用說明文檔。

3.2 SIM

中國大陸環境下,可以上網的sim 卡。一般來說,使用移動/電信/聯通的物聯網卡或者手機卡都行。

3.3 PC 電腦

請準備一臺配備 USB 接口且能夠正常上網的電腦。

電腦操作系統為:
WIN10以及以上版本的WINDOWS系統。

3.4 數據通信

TYPE-C口的USB數據線.

四、軟件環境

4.1 Luatools 工具

要想燒錄LuatOS到4G模組中,需要用到的調試工具:Luatools

詳細使用說明參考:
Luatools 工具使用說明:
https://docs.openluat.com/Luatools/

Luatools 工具集具備以下幾大核心功能:

一鍵獲取最新固件:
自動連接服務器,輕松下載最新的模組固件。

固件與腳本燒錄:
便捷地將固件及腳本文件燒錄至目標模組中。

串口日志管理:
實時查看模組通過串口輸出的日志信息,并支持保存功能。

串口調試助手:
提供簡潔的串口調試界面,滿足基本的串口通信測試需求。

Luatools下載之后,新建一個命名為 "Luatools" 的文件夾,將下載的Luatools_v3.exe拷貝或移動到新建的Luatools文件夾內,點擊 Luatools_v3.exe 即可運行。

4.2 準備需要燒錄的代碼

首先要說明一點:腳本代碼, 要和固件的 soc 文件一起燒錄。

4.2.1燒錄的底層固件文件

底層 core 下載地址:

LuatOS 固件版本下載地址:

https://docs.openluat.com/air780e/luatos/firmware/

wKgZoWdFRQiAKjVWAAG8KcM4Dek777.png

Air780E的底層固件在 Luatools 解壓后目錄的:
LuatOS-SoC_V1112_EC618_FULL.soc

wKgaoWdFRRuAYNqCAAFXQVY0aLg266.png

4.2.2燒錄的腳本代碼

首先要下載Air780的LuatOS示例代碼到一個合適的項目目錄,示例代碼網站:
https://gitee.com/openLuat/LuatOS-Air780E

下載流程參考下圖:

wKgZoWdFRSmAGn16AAYT2cpHzOo947.png

五、API 說明

位操作支持庫

5.1 bit.bnot( value )

取反,等價于 C 語言中的~

參數

wKgZoWdFRTiAJtktAAB2pDxVceQ346.png

返回值

wKgaoWdFRUeAIDBtAAB00qU25J8515.png

例子

wKgaoWdFRUyAJDfAAACVgmVXw-c112.png

5.2 bit.band( val1, val2, … valn )

與運算,等價于 C 語言中的 val1 & val2 & … & valn

參數

wKgZoWdFRVaAYnphAAB4EYRCekY644.png

返回值

wKgaoWdFRWCAH-YqAAB_M0aa5zI337.png

例子

wKgaoWdFRWyAGWh8AABSJJbhoFU215.png

5.3 bit.bor( val1, val2, … valn )

或運算,等價于 C 里面的 val1 | val2 | … | valn

注:對于Air780E建議不要超過多少個參數

參數

wKgZoWdFRXaAF1SVAAD2DS8-CYs810.png

返回值

wKgaoWdFRYCAQfYEAAB-rcuw2ZY517.png

例子

wKgaoWdFRYmABaBEAABSfXhWJj4718.png

5.4 bit.bxor( val1, val2, … valn )

異或運算,等價于 C 語言中的 val1 ^ val2 ^ … ^ valn

參數

wKgZoWdFRZSADtxNAADmkcbgNZM853.png

返回值

wKgaoWdFRZ6AY_HTAABidQ7-91o541.png

例子

wKgaoWdFRaeAZZacAABdxU-0W18798.png

5.5 bit.lshift( value, shift )

邏輯左移,等價于 C 語言中的 value << shift

參數

wKgZomdFRbCAGuruAAC9eHP22fY178.png

返回值

wKgZomdFRbmAItxXAABJ1dx3hsI596.png

例子

wKgZomdFRcKAcNjXAAB1mK-_BIY595.png

5.6 bit.rshift( value, shift )

邏輯右移,等價于 C 語言中的 value >> shift

參數

wKgZomdFRcyAeUOcAAC76D6JPaw244.png

返回值

wKgZomdFRdSAct8-AAB7BW2YQkk775.png

例子

wKgaomdFRd2AWgnxAABxhhNtgL4679.png

5.7 bit.arshift( value, shift )

算數右移

參數

wKgZomdFReaAP1P5AAC5HBAHU8w825.png

返回值

wKgaomdFRfCAG0bwAAB7iT4b93w329.png

例子

wKgZomdFRfmAVqf3AACPLOU82g4098.png

5.8 bit.bit( position )

左移運算,等價于 C 語言中的 1 << position

參數

wKgZomdFRgGAd2PtAACG1TUN0to139.png

返回值

wKgZomdFRgmAA0XyAACI43gCtjo503.png

例子

wKgaomdFRhKAJgMDAACCYk_LcZo825.png

5.9 bit.isset(value, position)

測試位數是否被置 1

參數

wKgZoWdFRhyAXSVZAABlkjZmM14769.png

返回值

wKgaoWdFRiqAA2ZPAAByuUio354181.png

例子

wKgZoWdFRjaAQbnwAAIoXJlSo00029.png

5.10 bit.isclear(value, position)

測試位數是否被置 0

參數

wKgZoWdFRkCAJqtDAADFZLLXI3k755.png

返回值

wKgZoWdFRkmAWxPBAABxbd5ungI638.png

例子

wKgaoWdFRlOAPJgDAAD6DQFcXYY464.png

5.11 bit.set(value, pos1, pos2, …posn)

置 1

參數

wKgaomdFRlyAFJUJAACncwZwLfk774.png

返回值

wKgZomdFRmWARFrKAAB5J_OlJK4424.png

例子

wKgaomdFRm6ANlQvAACrHFgK2w4577.png

5.12 number=bit.clear(value, pos1, pos2, …posn)

置 0

參數

wKgZomdFRnmAM6wnAAClu9eNEGM574.png

返回值

wKgaomdFRoKAY1PyAABDj_H2juQ136.png

例子

wKgaoWdFRoyAMvgHAACg0XfaEDk358.png

六、功能驗證

6.1 示例代碼

下面根據 demo 演示位操作的功能,可以參考以下示例代碼.

示例代碼如下:

wKgaoWdFRqGAEUcQAAfQdTgxMMU218.png

wKgZoWdFRrCABFaXAADIDy3LaC0718.png

6.2 燒錄步驟

6.2.1正確連接電腦和 4G 模組電路板

使用帶有數據通信功能的數據線,不要使用僅有充電功能的數據線.

6.2.2識別 4G 模組的 BOOT 引腳

在下載之前,要用模組的 BOOT 引腳觸發下載, 也就是說,要把 4G 模組的 BOOT 引腳拉到 1.8v,或者直接把 BOOT 引腳和 VDD_EXT 引腳相連.我們要在按下 BOOT 按鍵時讓模塊開機,就可以進入下載模式了.

具體到Air780E開發板:

1、當我們模塊沒開機時,按著 BOOT 鍵然后長按 POW 開機;

2、當我們模塊開機時,按著 BOOT 鍵然后點按重啟鍵即可。

wKgaoWdFRsiAI4NuABXqHxWM4eY493.png

6.2.3識別電腦的正確端口

判斷是否進入 BOOT 模式:模塊上電,此時在電腦的設備管理器中,查看串口設備, 會出現一個端口表示進入了 BOOT 下載模式,如下圖所示:

wKgZoWdFRtOAW3HKAAK9VG_I9dc103.png

6.2.4 用 Luatools 工具燒錄

新建項目

首先,確保你的 Luatools 的版本,大于等于 3.0.6 版本的。

在 Luatools 的左上角上有版本顯示的,如圖所示:

wKgaoWdFRt2AZZ-tAAFBGfsowME726.png

Luatools 版本沒問題的話, 就點擊 Luatools 右上角的“項目管理測試”按鈕,如下圖所示:

wKgZoWdFRuaAGpevAAD8KDodYYA020.png

這時會彈出項目管理和燒錄管理的對話框,可以新建一個項目,如下圖:

wKgZoWdFRvGAGIKZAAQO8Cp2hDQ374.png

開始燒錄

選擇Air780E板子對應的底層 core 和剛改的 main.lua 腳本文件,下載到板子中:

wKgaoWdFRvuASF3YAAQdMWgXHTE577.png

點擊下載后,我們需要進入BOOT模式才能正常下載。

如果沒進入BOOT模式會出現下圖情況::

wKgZoWdFRwaAIW8AAACXLcV7Yy8456.png

進入 BOOT 模式下載,如圖:

wKgaoWdFRxqAAylXAAONsH5NCS0567.png

6.3 對應 log 信息

wKgZoWdFRyuAHdOcAAcsQbk5iq0929.png

分享完畢

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2948

    文章

    48028

    瀏覽量

    417494
  • 開發
    +關注

    關注

    0

    文章

    379

    瀏覽量

    42222
  • LuatOS
    +關注

    關注

    0

    文章

    165

    瀏覽量

    2735
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LuatOS:485 總線硬件設計要點與 exmodbus 庫開發實戰

    在工業物聯網通信開發中,485 總線與 Modbus 協議的組合應用十分常見。本文以合宙 Air780EHV 系列模組為實例,圍繞 LuatOS
    的頭像 發表于 03-19 17:57 ?168次閱讀
    <b class='flag-5'>LuatOS</b>:485 總線硬件設計要點與 exmodbus 庫<b class='flag-5'>開發</b>實戰

    LuatOS選型指南:基于Air780EPM的32/64性能實測分析

    面對32與64LuatOS固件的選擇難題,本文通過在Air780EPM開發板上的實際測試,詳細解析兩者在整數處理能力、浮點數精度以及系統
    的頭像 發表于 02-25 18:05 ?244次閱讀
    <b class='flag-5'>LuatOS</b>選型指南:基于<b class='flag-5'>Air780</b>EPM的32/64<b class='flag-5'>位</b>性能實測分析

    LuatOS-AirLuatOS常見故障排查手冊

    方案,打造一份實用的“不翻車”操作指南。 一、lua版本不一樣 LuatOS-Air使用的是lua5.1版本,本身不支持位移運算符。 LuatOS使用的是lua5.3版本,取消了module(..., package.seeal
    的頭像 發表于 01-13 19:20 ?227次閱讀
    <b class='flag-5'>LuatOS-Air</b>轉<b class='flag-5'>LuatOS</b>常見故障排查手冊

    警惕兼容性陷阱:LuatOS-Air腳本在LuatOS中的運行異常分析

    案例,深入分析運行異常的根本原因并提出預防措施。 一、lua版本不一樣 LuatOS-Air使用的是lua5.1版本,本身不支持位移運算符。 LuatOS使用的是lua5.3版本,取消了module(..., package.s
    的頭像 發表于 01-13 19:20 ?256次閱讀
    警惕兼容性陷阱:<b class='flag-5'>LuatOS-Air</b>腳本在<b class='flag-5'>LuatOS</b>中的運行異常分析

    構建可靠USB應用:硬件設計要點與LuatOS開發技巧!

    指導。 本文以Air780EPM系列低功耗模組為例,分享USB接口的硬件設計要點以及LuatOS高效開發API,幫助開發者在設計中避開常見陷
    的頭像 發表于 12-15 10:46 ?299次閱讀
    構建可靠USB應用:硬件設計要點與<b class='flag-5'>LuatOS</b><b class='flag-5'>開發</b>技巧!

    一文搞懂Air780EPM的NTP通信:LuatOS腳本開發教程

    ?想在Air780EPM上用LuatOS實現NTP時間同步?這篇教程將用最通俗的方式講解實現原理與代碼實現,讓你快速掌握關鍵技能。 一、NTP通信概述 ? 1.1 NTP 網絡時間協議(英語
    的頭像 發表于 09-30 18:19 ?2297次閱讀
    一文搞懂<b class='flag-5'>Air780</b>EPM的NTP通信:<b class='flag-5'>LuatOS</b>腳本<b class='flag-5'>開發</b>教程

    Air780EPM嵌入式開發LuatOS下的MQTT通信實踐

    通過LuatOS腳本在Air780EPM開發板上實現MQTT通信,是物聯網設備開發中高效且便捷的解決方案。 一、MQTT 協議詳解 ? 1.1 什么是 MQTT? MQTT(Messa
    的頭像 發表于 09-30 16:11 ?1961次閱讀
    <b class='flag-5'>Air780</b>EPM嵌入式<b class='flag-5'>開發</b>:<b class='flag-5'>LuatOS</b>下的MQTT通信實踐

    Air780EPM開發板NTP對時教程:LuatOS腳本開發入門指南

    通過簡單的LuatOS腳本,Air780EPM即可實現NTP時間同步。本指南從零開始,帶你掌握嵌入式設備聯網校時的核心方法。 一、NTP通信概述 1.1 NTP 網絡時間協議(英語:Network
    的頭像 發表于 09-30 16:01 ?1275次閱讀
    <b class='flag-5'>Air780</b>EPM<b class='flag-5'>開發</b>板NTP對時教程:<b class='flag-5'>LuatOS</b>腳本<b class='flag-5'>開發</b>入門指南

    LuatOS嵌入式開發實戰:Air780EPM與MQTT通信

    ?本教程聚焦于LuatOSAir780EPM開發板上的應用,演示如何通過腳本實現MQTT協議通信,助力物聯網設備快速聯網。 一、MQTT 協議詳解 ? 1.1 什么是 MQTT? MQTT
    的頭像 發表于 09-29 18:10 ?621次閱讀
    <b class='flag-5'>LuatOS</b>嵌入式<b class='flag-5'>開發</b>實戰:<b class='flag-5'>Air780</b>EPM與MQTT通信

    Air780EPM開發板FTP功能實戰:LuatOS嵌入式開發全解析

    本文深入講解Air780EPM模組LuatOS環境下的FTP應用開發,涵蓋AT指令配置、網絡連接與文件傳輸流程,助你高效完成嵌入式通信項目。 一、什么是 FTP ? 1.1 基本概念
    的頭像 發表于 09-29 15:37 ?593次閱讀
    <b class='flag-5'>Air780</b>EPM<b class='flag-5'>開發</b>板FTP功能實戰:<b class='flag-5'>LuatOS</b>嵌入式<b class='flag-5'>開發</b>全解析

    LuatOS Air780EPM 開發板 HTTP 教程:原理講解與項目實操!

    本篇教程將系統介紹 LuatOS Air780EPM 在 HTTP 通信中的應用,從請求機制到響應解析,配合完整代碼演示,讓你輕松實現設備端與云端的數據交互。 一、HTTP 概述 1.1
    的頭像 發表于 09-26 20:36 ?1157次閱讀
    <b class='flag-5'>LuatOS</b> <b class='flag-5'>Air780</b>EPM <b class='flag-5'>開發</b>板 HTTP 教程:原理講解與項目實操!

    揭秘Air780EGH定位功能:源碼開放助力極速開發

    的相關要點。 最新源碼及實操教程詳見: https://docs.openluat.com/air780egh/luatos/app/gnss/
    的頭像 發表于 07-29 16:11 ?798次閱讀
    揭秘<b class='flag-5'>Air780</b>EGH定位功能:源碼開放助力極速<b class='flag-5'>開發</b> !

    解鎖Air780EPM:N種GPIO操控LED的實戰技巧!

    在物聯網項目中,靈活使用Air780EPM的GPIO控制LED至關重要。本文將展示實現方式,涵蓋硬件配置與軟件編程,滿足不同場景需求。 今天特別分享基于Air780EPM的GPIO控制LED實現方案
    的頭像 發表于 05-28 16:56 ?1017次閱讀
    解鎖<b class='flag-5'>Air780</b>EPM:N種GPIO操控LED的實戰技巧!

    大公開!用Air780EPM重構水質COD監測,替代STM32+4G模組的技術路徑

    方法。 以往行業常規開發方案是STM32+4G模組組合,本次實驗項目采用Air780EPM開發新方案——4G模組直接做主控,省卻MCU費用,
    的頭像 發表于 05-16 15:34 ?727次閱讀
    大公開!用<b class='flag-5'>Air780</b>EPM重構水質COD監測,替代STM32+4G<b class='flag-5'>模組</b>的技術路徑

    深度解析Air780EPM模組LuatOS下CAN總線通信的完整方案!

    本文聚焦Air780EPM的CAN通信能力,結合LuatOS實時操作系統,從底層驅動到應用層協議,詳細拆解如何實現工業級CAN總線數據傳輸,助力開發者快速落地項目。 最新資料詳見: https
    的頭像 發表于 05-06 14:22 ?979次閱讀
    深度解析<b class='flag-5'>Air780</b>EPM<b class='flag-5'>模組</b>:<b class='flag-5'>LuatOS</b>下CAN總線通信的完整方案!