在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解讀版|Air780E軟件中C語言內(nèi)存數(shù)組的神秘面紗!

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

掃碼添加小助手

加入工程師交流群

今天我們來揭開Air780E 軟件中 C 語言內(nèi)存數(shù)組的神秘面紗,希望有所收獲。


1、ZBUFF(C內(nèi)存數(shù)組)簡介

zbuff庫可以用c風(fēng)格直接操作(下標(biāo)從0開始),例如buff[0]=buff[3]

可以在sram上或者psram上申請(qǐng)空間,也可以自動(dòng)申請(qǐng)(如存在psram則在psram進(jìn)行申請(qǐng),如不存在或失敗則在sram進(jìn)行申請(qǐng))。

操作里面的元素時(shí),可以根據(jù)光標(biāo)進(jìn)行增刪改查。偏移方式有三種:從頭、當(dāng)前位置、末尾開始。常用參數(shù)如下:

常量 類型 解釋
zbuff.SEEK_SET number 以頭為基點(diǎn)
zbuff.SEEK_CUR number 以當(dāng)前位置為基點(diǎn)
zbuff.SEEK_END number 以末尾為基點(diǎn)
zbuff.HEAP_AUTO number 自動(dòng)申請(qǐng)
(如存在psram,則在psram進(jìn)行申請(qǐng),
如不存在或失敗則在sram進(jìn)行申請(qǐng))
zbuff.HEAP_SRAM number 在sram申請(qǐng)
zbuff.HEAP_PSRAM number 在psram申請(qǐng)

2、演示功能概述

本demo將演示ZBUFF的創(chuàng)建、寫入數(shù)據(jù)、讀取數(shù)據(jù)、獲取zbuff長度、獲取光標(biāo)位置。

3、準(zhǔn)備硬件環(huán)境

3.1 780E開發(fā)板一套,包括天線USB數(shù)據(jù)線

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

Air780E產(chǎn)品手冊(cè)中的<<開發(fā)板Core_Air780E使用說明V1.0.5.pdf>>,X.X.X指版本號(hào);核心板使用過程中遇到任何問題,可以直接參考這份使用說明pdf文檔。

3.2 SIM

請(qǐng)準(zhǔn)備一張可正常上網(wǎng)的SIM卡,該卡可以是物聯(lián)網(wǎng)卡或您的個(gè)人手機(jī)卡。

特別提醒:請(qǐng)確保SIM卡未欠費(fèi)且網(wǎng)絡(luò)功能正常,以便順利進(jìn)行后續(xù)操作。

3.3 數(shù)據(jù)通信

typec接口USB數(shù)據(jù)線即可。

3.4 PC電腦

WINDOWS系統(tǒng)。

4、準(zhǔn)備軟件環(huán)境

4.1 基本的下載調(diào)試工具

使用說明參考:Luatools下載和詳細(xì)使用;

5、ZBUFF操作軟硬件資料

5.1 文檔和工具:

780E模塊使用固件:SDK&Demo-合宙文檔中心,本demo使用的固件版本是:

LuatOS-SoC_V1112_EC618_FULL.soc

教程使用的demo:

https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/zbuff

將固件和腳本燒錄到模塊中:Luatools下載和使用教程-合宙模組資料中心

源碼和固件已打包,如下所示:點(diǎn)我,下載完整壓縮文件包

zbuff-全部api地址,如果只看本demo的api直接看下面的5.2demo使用api介紹即可。

5.2 demo使用api介紹

zbuff.create(length,data,type)

作用:創(chuàng)建zbuff。

參數(shù)

參數(shù) 傳入值類型 解釋
length int 字節(jié)數(shù)
data any 可選參數(shù),number時(shí)為填充數(shù)據(jù),string時(shí)為填充字符串
type number 可選參數(shù),內(nèi)存類型。可選值:zbuff.HEAP_SRAM(內(nèi)部sram,默認(rèn)),zbuff.HEAP_PSRAM(外部psram),zbuff.HEAP_AUTO(自動(dòng)申請(qǐng)內(nèi)存)

返回值

返回值類型 解釋
object zbuff對(duì)象,創(chuàng)建失敗返回nil

buff:write(para,…)

作用:zbuff寫數(shù)據(jù)(從當(dāng)前指針位置開始;執(zhí)行后指針會(huì)向后移動(dòng))。

參數(shù)

參數(shù) 傳入值類型 解釋
para any 寫入buff的數(shù)據(jù)。string時(shí)為一個(gè)參數(shù),number時(shí)可為多個(gè)參數(shù)

返回值

返回值類型 解釋
number 數(shù)據(jù)成功寫入的長度

buff:read(length)

作用:zbuff讀數(shù)據(jù)(從當(dāng)前指針位置開始;執(zhí)行后指針會(huì)向后移動(dòng))

參數(shù)

參數(shù) 傳入值類型 解釋
length int 讀取buff中的字節(jié)數(shù)

返回值

返回值類型 解釋
string 讀取結(jié)果

buff:clear(num)

作用:zbuff清空數(shù)據(jù)(與當(dāng)前指針位置無關(guān);執(zhí)行后指針位置不變)

參數(shù)

參數(shù) 傳入值類型 解釋
num int 可選,默認(rèn)為0。要設(shè)置的值,不會(huì)改變指針位置

返回值

buff:seek(base,offset)

作用:zbuff設(shè)置光標(biāo)位置(可能與當(dāng)前指針位置有關(guān);執(zhí)行后指針會(huì)被設(shè)置到指定位置)

參數(shù)

參數(shù) 傳入值類型 解釋
offset int 偏移長度
base int 基點(diǎn),默認(rèn)zbuff.SEEK_SET。可選值:zbuff.SEEK_SET(文件開頭),zbuff.SEEK_CUR(當(dāng)前位置),zbuff.SEEK_END(文件尾)

返回值

返回值類型 解釋
int 設(shè)置光標(biāo)后從buff開頭計(jì)算起的位置

buff:pack(format,val1,val2,…)

作用:將一系列數(shù)據(jù)按照格式字符轉(zhuǎn)化,并寫入(從當(dāng)前指針位置開始;執(zhí)行后指針會(huì)向后移動(dòng))

參數(shù)

參數(shù) 傳入值類型 解釋
format string 后面數(shù)據(jù)的格式(符號(hào)含義見示例)
val val 傳入的數(shù)據(jù),可以為多個(gè)數(shù)據(jù)

返回值

返回值類型 解釋
int 成功寫入的數(shù)據(jù)長度

例子:

wKgaomcu7PmAT1HEAALYrHEazoY358.png

buff:unpack(format)

作用:將一系列數(shù)據(jù)按照格式字符讀取出來(從當(dāng)前指針位置開始;執(zhí)行后指針會(huì)向后移動(dòng))

參數(shù)

參數(shù) 傳入值類型 解釋
format string 數(shù)據(jù)的格式(符號(hào)含義見pack示例)

返回值

返回值類型 解釋
int 成功讀取的數(shù)據(jù)字節(jié)長度
any 按格式讀取的數(shù)據(jù)

buff:read類型()

作用:讀取一個(gè)指定類型的數(shù)據(jù)(從當(dāng)前指針位置開始;執(zhí)行后指針會(huì)向后移動(dòng))

參數(shù)

類型可為:(前綴I指有符號(hào)位,U指無符號(hào)位,后面的數(shù)字指有幾位)I8、U8、I16、U16、I32、U32、I64、U64。

(浮點(diǎn)數(shù))F32、F64

返回值

返回值類型 解釋
number 讀取的數(shù)據(jù),越界則為nil

例如:

wKgaomcu7QyAfczlAADFvyPfCJ4307.png

buff:write類型(data)

作用:寫入一個(gè)指定類型的數(shù)據(jù)(從當(dāng)前指針位置開始;執(zhí)行后指針會(huì)向后移動(dòng))

參數(shù)

參數(shù) 傳入值類型 解釋
data number 待寫入的數(shù)據(jù)

寫入類型,可為:(前綴I指有符號(hào)位,U指無符號(hào)位,后面的數(shù)字指有幾位)I8、U8、I16、U16、I32、U32、I64、U64。

(浮點(diǎn)數(shù))F32、F64

返回值

返回值類型 解釋
number 成功寫入的長度

例如:

locallen=buff:writeI8(10)locallen=buff:writeU32(1024)

buff:len()

作用:獲取zbuff對(duì)象的長度(與當(dāng)前指針位置無關(guān);執(zhí)行后指針位置不變)

參數(shù)

返回值

返回值類型 解釋
int zbuff對(duì)象的長度

buff:used()

作用:獲取zbuff中最后一個(gè)數(shù)據(jù)位置指針到首地址的偏移量,表示zbuff內(nèi)已有有效數(shù)據(jù)量大小。注意,此值不同于分配的空間大小,seek()會(huì)改變最后一個(gè)數(shù)據(jù)位置指針,也會(huì)影響used()的返回值。

參數(shù)

返回值

返回值類型 解釋
int 有效數(shù)據(jù)量大小

6代碼示例介紹

6.1 zbuff操作示例

6.1.1 創(chuàng)建zbuff,以c語言數(shù)組的形式操作zbuff

wKgZomcu7R2AHfG0AAFqbJ11NKI303.png

6.1.2 以io的形式操作

wKgaomcu7SuATA6rAAPRsepS4p8108.png

6.1.3 清除zbuff

wKgZoWcu7VGASH34AAEZG3Zao-M139.png

6.1.4 以pack庫的形式寫入或讀取數(shù)據(jù)

wKgaoWcu7V-ADbajAAGvIsV2eqU136.png

6.1.5 按類型讀寫數(shù)據(jù)

讀取類型可為:I8、U8、I16、U16、I32、U32、I64、U64、F32、F64

讀取的時(shí)候,記得注意下標(biāo)位置。

6.1.6 取出指定區(qū)間的數(shù)據(jù)

wKgaoWcu7XKAWy3PAADY2UyZj3M085.png

6.1.7 獲取創(chuàng)建的zbuff的長度,和指針當(dāng)前位置

wKgaoWcu7Y6AcL15AAFPW2ufNIg934.png

6.1.8 測試F32(32位單精度浮點(diǎn)數(shù))類型數(shù)據(jù)的讀寫

wKgZomcu7hCAaHRJAAIs269Geik520.png

7、功能驗(yàn)證

測試zbuff的使用

wKgaomcu7ieAIsO-AAhIJaLYts0563.png

8、總結(jié)

本示例介紹了zbuff的作用和用法。

9常見問題

9.1 先buff:write(0x12),再設(shè)置光標(biāo)到正確位置后,使用buff:read(1)讀取不到數(shù)據(jù)。

直接讀取是不可見字符,要使用buff:read(1):toHex()讀取數(shù)據(jù)。

聲明:本文內(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)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3117

    瀏覽量

    75120
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7630

    瀏覽量

    140980
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    419

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【合宙Air780E開發(fā)板趣味應(yīng)用】Air780E開發(fā)板方言打麻將

    Air780E音頻擴(kuò)展板以及喇叭 ,可輕松實(shí)現(xiàn)趣味TTS+AMR+MP3語音播放功能。更更更讓開發(fā)者心顫的是,合宙還搞了個(gè)音頻擴(kuò)展板使用創(chuàng)意視頻大賽,想要進(jìn)一步從開發(fā)者腦細(xì)胞榨汁:然而這還不夠,這真的不夠,合宙
    發(fā)表于 01-04 13:45

    基于Air780E的遠(yuǎn)程報(bào)警器方案

    恒博A780E-S智能遠(yuǎn)程報(bào)警器方案板,基于合宙低功耗4G Cat.1模組Air780E設(shè)計(jì),支持LuatOS二次開發(fā),無需額外添加單片機(jī);可以幫助行業(yè)客戶快速搭建遠(yuǎn)程報(bào)警產(chǎn)品及其配套系統(tǒng),并提供客戶端軟件服務(wù)。
    發(fā)表于 03-01 11:51 ?2213次閱讀

    Air780E硬件設(shè)計(jì)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《Air780E硬件設(shè)計(jì)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-14 09:57 ?22次下載

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問題如何分析簡介本文檔適用于合宙Air780E
    的頭像 發(fā)表于 07-19 15:37 ?1074次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機(jī)問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機(jī)如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機(jī)如何分析簡介本文檔適用于合宙
    的頭像 發(fā)表于 07-19 16:07 ?895次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到<b class='flag-5'>內(nèi)存</b>死機(jī)如何分析

    合宙 Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問題如何分析簡介本文檔適用于合宙Air780E
    的頭像 發(fā)表于 08-01 17:27 ?1284次閱讀
    合宙 <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機(jī)問題如何分析

    合宙Air780E硬件設(shè)計(jì)手冊(cè)02

    合宙低功耗4G模組Air780E硬件設(shè)計(jì)介紹
    的頭像 發(fā)表于 09-06 12:02 ?968次閱讀
    合宙<b class='flag-5'>Air780E</b>硬件設(shè)計(jì)手冊(cè)02

    如何使用Air780E開發(fā)板?看這篇就夠了!

    對(duì) Air780E 模塊進(jìn)行性能評(píng)估,功能調(diào)試,軟件開發(fā)等用途 二、開發(fā)板配置 IO 口默認(rèn)電平 3.3V (1.8V 可調(diào)) 支持 USB 5V 直接供電 自彈式 Micro SIM 卡座 一代 IPEX 天線
    的頭像 發(fā)表于 10-23 17:07 ?1535次閱讀
    如何使用<b class='flag-5'>Air780E</b>開發(fā)板?看這篇就夠了!

    Air780E如何發(fā)送SMS?一文詳解!

    ?今天一起來學(xué)習(xí)使用合宙低功耗4G模組Air780E發(fā)送SMS短消息: 一、SMS簡介 SMS(短消息服務(wù),ShortMessageService)功能主要用于在蜂窩網(wǎng)絡(luò)傳輸短消息。 在4G網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-03 08:22 ?946次閱讀
    <b class='flag-5'>Air780E</b>如何發(fā)送SMS?一文詳解!

    奇妙的Air780E之UDP應(yīng)用示例大賞!

    關(guān)于UDP是一種無連接的、不可靠的傳輸層協(xié)議,主要用于實(shí)現(xiàn)網(wǎng)絡(luò)的快速通訊,我們今天將把Air780E的UDP應(yīng)用分析透徹。
    的頭像 發(fā)表于 11-04 09:25 ?716次閱讀
    奇妙的<b class='flag-5'>Air780E</b>之UDP應(yīng)用示例大賞!

    UDP應(yīng)用詳解:Air780E軟件的全面手冊(cè)

    了解Air780E軟件UDP應(yīng)用全面手冊(cè),永享編程幸福人生。
    的頭像 發(fā)表于 11-05 12:31 ?641次閱讀
    UDP應(yīng)用詳解:<b class='flag-5'>Air780E</b><b class='flag-5'>軟件</b>的全面手冊(cè)

    Air780E模組AT指令下的MQTT應(yīng)用:技術(shù)指南

    今天我要講的是Air780E模組AT指令下的MQTT應(yīng)用,希望對(duì)大家有所幫助。
    的頭像 發(fā)表于 11-07 14:02 ?946次閱讀
    <b class='flag-5'>Air780E</b>模組AT指令下的MQTT應(yīng)用:技術(shù)指南

    Air780E軟件zlib解壓示例的詳細(xì)展示!

    今天我?guī)氲氖?b class='flag-5'>Air780E 軟件 zlib 解壓示例,希望大家有所收獲。
    的頭像 發(fā)表于 11-17 10:01 ?671次閱讀
    <b class='flag-5'>Air780E</b><b class='flag-5'>軟件</b><b class='flag-5'>中</b>zlib解壓示例的詳細(xì)展示!

    Air780E模組的ADC之旅 LuatOS開發(fā)實(shí)例

    今天學(xué)習(xí)一個(gè)新的示例,關(guān)于Air780E模組LuatOS開發(fā)的ADC應(yīng)用實(shí)例,希望大家有所收獲。
    的頭像 發(fā)表于 11-11 09:33 ?585次閱讀
    <b class='flag-5'>Air780E</b>模組的ADC之旅  LuatOS開發(fā)實(shí)例

    低功耗模組Air780E的AT指令:FTP示例!

    本文說的是關(guān)于4G模組AT指令的FTP示例,以Air780E為例,希望大家有所收獲。
    的頭像 發(fā)表于 11-30 09:40 ?623次閱讀
    低功耗模組<b class='flag-5'>Air780E</b>的AT指令:FTP示例!
    主站蜘蛛池模板: 色五月激情小说 | 欧美生活性色 | 在线观看黄色网 | 亚洲日本一区二区三区在线不卡 | 在线欧美色 | 人人天天夜夜 | 国产nv精品你懂得 | а中文在线天堂 | freesexvideo性欧美tv | 加勒比在线视频 | 日本视频一区在线观看免费 | 男女视频在线观看免费高清观看 | 亚洲香蕉国产高清在线播放 | 日日噜噜噜夜夜爽爽狠狠图片 | 嫩草影院入口一二三免费 | 久久久噜噜噜久久中文字幕色伊伊 | 日韩一区二区视频在线观看 | 女性私密部位扒开的视频 | 视频在线观看一区 | 天天干天天玩 | 久久国产精品网 | 4388x17亚洲最大成人网 | 日本不卡在线一区二区三区视频 | 午夜片网站 | 国产亚洲精品久久午夜 | 亚洲男人的天堂在线播放 | 欧美成人a | 一级不卡毛片免费 | 五月欧美激激激综合网色播 | www.五月天婷婷 | 热99精品视频 | 久操视频免费观看 | 国产成人99久久亚洲综合精品 | 国产亚洲网站 | 欧美猛交xxx呻吟 | 亚洲热热久久九九精品 | 免费人成黄页在线观看1024 | 在线观看国产日本 | 蝌蚪自拍网二区 | 日韩一级特黄毛片在线看 | 上课被同桌强行摸下面小黄文 |