chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

【合宙Air105開發(fā)板試用體驗(yàn)】在Air105上,一次搞懂openluat的基礎(chǔ)文件操作

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-12-02 15:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2282703_1_1.html

Air105使用的是openluat,給我們提供了非常豐富的文件操作功能,今天我們就一次搞清楚基礎(chǔ)的文件操作方式。


一、文件系統(tǒng)
openluat上的文件系統(tǒng),分為如下幾種:
poYBAGKNBrSAMpEJAAMe9gmoVKU104.png

注意,luadb下的文件,是只讀的。
openluat中的文件操作對(duì)象,可以使用內(nèi)置的Flash,也可以使用SPI Flash,還可以使用SD卡,本文的演示,使用的是內(nèi)置的Flash。


二、文件操作方式
當(dāng)前支持的常用文件操作方式,則分為如下幾種:
  • io:普通io方式操作文件
  • nvm:ini方式操作的lua配置文件
  • fdb:kv方式操作數(shù)據(jù),刷機(jī)也不會(huì)清除


三、io文件操作
io文件操作,是最基礎(chǔ)的文件操作方式。
io文件操作的基本指令如下:
1. 打開文件:如果打開失敗,則f為空


  1. local f = io.open("/文件名", "標(biāo)志位")
復(fù)制代碼

可供使用的標(biāo)志位如下:
pYYBAGKM-g-Ac_T5AAN28LyjcQo116.png

通常使用中:
如果要打開文件讀取數(shù)據(jù),則標(biāo)志位使用r或者rb;
如果要打開文件寫入數(shù)據(jù),則標(biāo)志位使用w或者wb,注意會(huì)清空文件
如果要打開文件追加數(shù)據(jù),則標(biāo)志位使用a或者ab

2. 讀取數(shù)據(jù):


  1. -- 讀取首行
復(fù)制代碼


3. 寫入數(shù)據(jù):


  1. f:write(tostring(data))
復(fù)制代碼

注意寫入文件的時(shí)候,寫入的是字符串。而讀取的時(shí)候,再根據(jù)實(shí)際情況進(jìn)行解析。

4. 關(guān)閉文件:


  1. f:close()
復(fù)制代碼


文件操作部分的實(shí)例,可以查看Air105的demo中的fs/Air105/main.lua:



復(fù)制代碼




四、nvm操作
openluat的nvm操作,實(shí)際上是對(duì)io操作的一個(gè)特殊封裝。
通常于存儲(chǔ)配置,因?yàn)槠鋽?shù)據(jù)存儲(chǔ)必須是一個(gè)lua配置文件,樣例如下:


  1. --存儲(chǔ)默認(rèn)數(shù)據(jù)
  2. --必須return一個(gè)table
  3. return {
  4. a=1,
  5. b=2
  6. }
復(fù)制代碼

這樣的一個(gè)配置文件,是可以在lua腳本中,直接require的。
如果要讀取值,則使用nvm.get("a")
如果要設(shè)置值,則使用nvm.set('a',1)
需要注意的是,只能操作config.lua中存在的key,否則出錯(cuò)。存在的key,其對(duì)應(yīng)的value也不能為空,否則也會(huì)出錯(cuò)。
務(wù)必要提醒的是,因?yàn)槊看涡薷暮螅紩?huì)整個(gè)配置數(shù)據(jù)一起保存,所以只適合較少配置數(shù)據(jù)的情況,不適合較多數(shù)據(jù)的設(shè)置讀取。數(shù)據(jù)較多的情況,可以直接使用io文件操作。

nvm的具體操作,可以查看Air105的demo中的nvm/main.lua:


  1. -- LuaTools需要PROJECT和VERSION這兩個(gè)信息
復(fù)制代碼

需要注意的是,nvm.set(),默認(rèn)的配置文件config.lua的內(nèi)容,是不會(huì)發(fā)生變化的,需要用nvm.get()才能得到最新的值。
其具體處理的實(shí)際邏輯,可以查看nvm/nvm.lua了解;其中確保了即使斷電,也不會(huì)造成配置數(shù)據(jù)丟失的邏輯。


五、fdb數(shù)據(jù)操作
openluat的還提供了一個(gè)簡(jiǎn)單的kv操作庫fdb,可通過fdb.kv_ge和tfdb.kv_set來進(jìn)行讀寫。
如果熟悉memcached或者redis的同學(xué),對(duì)這個(gè)操作就會(huì)比較熟悉。
fdb存儲(chǔ)的數(shù)據(jù),刷機(jī)的時(shí)候,也不會(huì)丟失,除非主動(dòng)刪除對(duì)應(yīng)的key。
fdb的主要操作指令如下:


  1. -- 初始化
復(fù)制代碼

使用fdb.kv_set的時(shí)候,可以寫入不同類型的數(shù)據(jù),讀取的時(shí)候,也會(huì)保持類型。
需要注意的是,fdb存儲(chǔ)的數(shù)據(jù),也不能使用空值。但讀取不存在的key,則返回空值。
fdb基于flashdb實(shí)現(xiàn)的,具體實(shí)現(xiàn)邏輯,可以查看:https://gitee.com/openLuat/LuatOS/tree/master/components/flashdb/

fdb的具體操作,可以查看Air105的demo中的fdb/main.lua:

  1. -- LuaTools需要PROJECT和VERSION這兩個(gè)信息
復(fù)制代碼



總的來說,通常的文件操作,使用io文件操作,配置類的數(shù)據(jù),使用nvm操作,而kv數(shù)據(jù)的存儲(chǔ),可以使用fdb。
例如:
如果需要存儲(chǔ)圖片等數(shù)據(jù),或者讀取文件內(nèi)容進(jìn)行分析之類的,可以用io文件操作。
如果是可以被用戶修改的配置,可以用nvm操作。
如果是一個(gè)類似sn之類的數(shù)據(jù),則可以考慮使用fdb。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    6125

    瀏覽量

    113371
  • 合宙通信
    +關(guān)注

    關(guān)注

    0

    文章

    148

    瀏覽量

    2381
  • Air105
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    基于SHA105 CryptoAuthentication?芯片的硬件安全設(shè)計(jì)指南

    用于對(duì)稱身份驗(yàn)證用例的主機(jī)側(cè),可提供安全密鑰存儲(chǔ)。該IC還可通過CheckMAC操作驗(yàn)證附件/一次性安全設(shè)備的MAC操作。SHA105身份
    的頭像 發(fā)表于 10-11 10:51 ?377次閱讀
    基于SHA<b class='flag-5'>105</b> CryptoAuthentication?芯片的硬件安全設(shè)計(jì)指南

    實(shí)戰(zhàn)Air780EPM:構(gòu)建4G共享網(wǎng)關(guān),服務(wù)WiFi與有線設(shè)備!

    通過Air780EPM開發(fā)板,我們可以輕松實(shí)現(xiàn)4G網(wǎng)絡(luò)作為數(shù)據(jù)出口,為周邊的WiFi設(shè)備和以太網(wǎng)設(shè)備提供互聯(lián)網(wǎng)共享,適用于移動(dòng)辦公、遠(yuǎn)程部署等場(chǎng)景。 、多網(wǎng)融合概述 ? Air780
    的頭像 發(fā)表于 09-30 16:03 ?875次閱讀
    實(shí)戰(zhàn)<b class='flag-5'>Air</b>780EPM:構(gòu)建4G共享網(wǎng)關(guān),服務(wù)WiFi與有線設(shè)備!

    燒錄工具操作教程:新手也能快速掌握~

    燒錄工具看似復(fù)雜,其實(shí)操作很簡(jiǎn)單!現(xiàn)在就為你奉上清晰明了的使用說明,即使是新手也能迅速掌握。 本文就以 Air780EPM 開發(fā)板為例,演示燒錄工具的使用步驟。 ? 、生成量產(chǎn)
    的頭像 發(fā)表于 09-26 19:20 ?424次閱讀
    燒錄工具<b class='flag-5'>操作</b>教程:新手也能快速掌握~

    Air8101多網(wǎng)融合戰(zhàn)略升級(jí):Air780EPM模塊助力4G聯(lián)網(wǎng)落地

    應(yīng)用邁向新高度。 本文將分享Air8101核心通過外掛Air780EPM整機(jī)開發(fā)板,實(shí)現(xiàn)4G聯(lián)網(wǎng)的功能示例。 ? 、硬件準(zhǔn)備工作 ? 1
    的頭像 發(fā)表于 06-23 16:53 ?372次閱讀
    <b class='flag-5'>Air</b>8101多網(wǎng)融合戰(zhàn)略升級(jí):<b class='flag-5'>Air</b>780EPM模塊助力4G聯(lián)網(wǎng)落地

    解鎖CAN接口開發(fā)高效路徑!五個(gè)核心要點(diǎn)一次講透

    高效開發(fā)CAN接口,關(guān)鍵在于把握協(xié)議基礎(chǔ)、硬件適配、錯(cuò)誤管理、性能優(yōu)化與調(diào)試五大核心要點(diǎn)。下面將逐剖析每個(gè)環(huán)節(jié)的技術(shù)細(xì)節(jié)與實(shí)踐方法,助力開發(fā)者快速突破難點(diǎn),實(shí)現(xiàn)可靠通信。
    的頭像 發(fā)表于 06-23 16:08 ?987次閱讀
    解鎖CAN接口<b class='flag-5'>開發(fā)</b>高效路徑!五個(gè)核心要點(diǎn)<b class='flag-5'>一次</b>講透

    多功能+高擴(kuò)展能力加持,Air8000開發(fā)板最新資料

    ”,尤其適合需要通信、控制、數(shù)據(jù)采集的場(chǎng)景,如:遠(yuǎn)程監(jiān)控、智能終端等。 、開發(fā)板主要配置 Air8000開發(fā)板基于Air8000多功能工業(yè)
    的頭像 發(fā)表于 06-09 14:18 ?512次閱讀
    多功能+高擴(kuò)展能力加持,<b class='flag-5'>Air</b>8000<b class='flag-5'>開發(fā)板</b>最新資料

    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費(fèi)試用

    : 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤(rùn)開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評(píng)測(cè)!頂級(jí)開發(fā)板免費(fèi)
    的頭像 發(fā)表于 06-05 16:45 ?1014次閱讀
    搭載OpenHarmony<b class='flag-5'>操作</b>系統(tǒng),視美泰SC-3568HA<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    技術(shù)篇——Air8000開發(fā)板,站式滿足多功能高擴(kuò)展開發(fā)需求!

    朋友們,Air8000開發(fā)板“多功能集成+高擴(kuò)展性”,尤其適合需要通信、控制、數(shù)據(jù)采集的場(chǎng)景,如:遠(yuǎn)程監(jiān)控、智能終端等。 開發(fā)板主要配置 Air
    的頭像 發(fā)表于 06-04 15:59 ?448次閱讀
    技術(shù)篇——<b class='flag-5'>Air</b>8000<b class='flag-5'>開發(fā)板</b>,<b class='flag-5'>一</b>站式滿足多功能高擴(kuò)展<b class='flag-5'>開發(fā)</b>需求!

    篇帶你搞定!Air8101:物聯(lián)網(wǎng)設(shè)備AirKiss配網(wǎng)方案

    Air8101開發(fā)板AirKiss配網(wǎng)示例? 下文以Air8101開發(fā)板為例,演示AirKiss配網(wǎng)實(shí)操要點(diǎn)。 此配網(wǎng)方式極為簡(jiǎn)單,使用示例源碼將
    的頭像 發(fā)表于 05-27 11:09 ?512次閱讀
    <b class='flag-5'>一</b>篇帶你搞定!<b class='flag-5'>Air</b>8101:物聯(lián)網(wǎng)設(shè)備AirKiss配網(wǎng)方案

    【評(píng)測(cè)試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)

    【評(píng)測(cè)試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)
    的頭像 發(fā)表于 05-27 08:05 ?697次閱讀
    【評(píng)測(cè)<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>體驗(yàn)

    Air8101革新物聯(lián)網(wǎng)配網(wǎng):AirKiss方案讓設(shè)備連接更智能!

    、 Air8101開發(fā)板AirKiss配網(wǎng)示例? 下文以Air8101開發(fā)板為例,演示AirKiss配網(wǎng)實(shí)操要點(diǎn)。 此配網(wǎng)方式極為簡(jiǎn)單,使用示例源碼將
    的頭像 發(fā)表于 05-26 13:12 ?520次閱讀
    <b class='flag-5'>Air</b>8101革新物聯(lián)網(wǎng)配網(wǎng):AirKiss方案讓設(shè)備連接更智能!

    閃電入門!支持CAN和以太網(wǎng),開發(fā)板最新資料看這篇!

    .com/air780epm/product/shouce/ ? 、CAN接口電路參考設(shè)計(jì) Air780EPM開發(fā)板及參考設(shè)計(jì),采用的是川土微CAN收發(fā)器芯片。 川土微CAN收發(fā)器芯
    的頭像 發(fā)表于 04-01 15:44 ?473次閱讀
    閃電入門!支持CAN和以太網(wǎng),<b class='flag-5'>開發(fā)板</b>最新資料看這篇!

    深度解析——使用Luatools工具燒錄個(gè)具體的項(xiàng)目到Air780EPM核心中!

    本篇文章重點(diǎn)介紹如何使用Luatools工具燒錄個(gè)具體的項(xiàng)目到Air780EPM開發(fā)板中。 、準(zhǔn)備好項(xiàng)目文件 ?
    的頭像 發(fā)表于 03-25 15:06 ?606次閱讀
    深度解析——使用Luatools工具燒錄<b class='flag-5'>一</b>個(gè)具體的項(xiàng)目到<b class='flag-5'>Air</b>780EPM核心<b class='flag-5'>板</b>中!

    Air8000工業(yè)引擎:多IO多功能,即將量產(chǎn)

    科技近日宣布,其工業(yè)引擎Air8000即將進(jìn)入量產(chǎn)階段。這款引擎集成了4G、Wi-Fi、BLE、GNSS、Gsensor及電源管理等多項(xiàng)功能,專為工業(yè)應(yīng)用而設(shè)計(jì),展現(xiàn)了強(qiáng)大的場(chǎng)景解決能力
    的頭像 發(fā)表于 01-07 14:56 ?2888次閱讀

    短消息(sms)解析 Air724UG低功耗模組軟件指南

    本指南教你如何用 Air724 開發(fā)板,使用 sms 功能,并通過日志觀察實(shí)驗(yàn)結(jié)果。
    的頭像 發(fā)表于 12-11 09:28 ?1307次閱讀
    短消息(sms)解析  <b class='flag-5'>Air</b>724UG低功耗模組軟件指南