女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

【合宙Air105開發板試用體驗】在Air105上,一次搞懂openluat的基礎文件操作

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-12-02 15:10 ? 次閱讀
本文來源電子發燒友社區,作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2282703_1_1.html

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


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

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


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


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


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

可供使用的標志位如下:
pYYBAGKM-g-Ac_T5AAN28LyjcQo116.png

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

2. 讀取數據:


  1. -- 讀取首行
復制代碼


3. 寫入數據:


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

注意寫入文件的時候,寫入的是字符串。而讀取的時候,再根據實際情況進行解析。

4. 關閉文件:


  1. f:close()
復制代碼


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



復制代碼




四、nvm操作
openluat的nvm操作,實際上是對io操作的一個特殊封裝。
通常于存儲配置,因為其數據存儲必須是一個lua配置文件,樣例如下:


  1. --存儲默認數據
  2. --必須return一個table
  3. return {
  4. a=1,
  5. b=2
  6. }
復制代碼

這樣的一個配置文件,是可以在lua腳本中,直接require的。
如果要讀取值,則使用nvm.get("a")
如果要設置值,則使用nvm.set('a',1)
需要注意的是,只能操作config.lua中存在的key,否則出錯。存在的key,其對應的value也不能為空,否則也會出錯。
務必要提醒的是,因為每次修改后,都會整個配置數據一起保存,所以只適合較少配置數據的情況,不適合較多數據的設置讀取。數據較多的情況,可以直接使用io文件操作。

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


  1. -- LuaTools需要PROJECT和VERSION這兩個信息
復制代碼

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


五、fdb數據操作
openluat的還提供了一個簡單的kv操作庫fdb,可通過fdb.kv_ge和tfdb.kv_set來進行讀寫。
如果熟悉memcached或者redis的同學,對這個操作就會比較熟悉。
fdb存儲的數據,刷機的時候,也不會丟失,除非主動刪除對應的key。
fdb的主要操作指令如下:


  1. -- 初始化
復制代碼

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

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

  1. -- LuaTools需要PROJECT和VERSION這兩個信息
復制代碼



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

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

    關注

    25

    文章

    5499

    瀏覽量

    102162
  • 合宙通信
    +關注

    關注

    0

    文章

    148

    瀏覽量

    2027
  • Air105
    +關注

    關注

    0

    文章

    48

    瀏覽量

    367
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Air780EP之RC522開發板,你了解嗎?

    ?本文講解Air780EP開發板RC522實例。 本文檔適用于Air780EP開發板; 關聯
    的頭像 發表于 11-03 08:21 ?571次閱讀
    <b class='flag-5'>Air</b>780EP之RC522<b class='flag-5'>開發板</b>,你了解嗎?

    干貨分享:Air780E開發板如何使用?

    ? 、概述 CORE-AIR780E 開發板通信推出的基于 Air780E 模組所
    的頭像 發表于 10-25 17:46 ?766次閱讀
    干貨分享:<b class='flag-5'>Air</b>780E<b class='flag-5'>開發板</b>如何使用?

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

    ? 、綜述 CORE-AIR780E 開發板通信推出的基于 Air780E 模組所
    的頭像 發表于 10-23 17:07 ?1423次閱讀
    如何使用<b class='flag-5'>Air</b>780E<b class='flag-5'>開發板</b>?看這篇就夠了!

    Air780E開發板使用,文解密!

    ? 、概述 CORE-AIR780E 開發板通信推出的基于 Air780E 模組所
    的頭像 發表于 10-23 17:05 ?971次閱讀
    <b class='flag-5'>Air</b>780E<b class='flag-5'>開發板</b>使用,<b class='flag-5'>一</b>文解密!

    RNDIS網卡應用看這篇!Air780EP低功耗4G模組AT開發示例

    ** ? 1.1 硬件準備 EVB_Air780EP開發板套,包括天線、SIM卡; USB線 WIN10以上PC電腦 1.2 軟件準
    的頭像 發表于 09-30 06:59 ?1053次閱讀
    RNDIS網卡應用看這篇!<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP低功耗4G模組AT<b class='flag-5'>開發</b>示例

    FTP應用看這篇!Air780EP低功耗4G模組AT開發示例

    780EX/Air724UG… **、相關準備工作 ** ? 1.1 硬件準備 EVB_Air780EP
    的頭像 發表于 09-29 09:36 ?2186次閱讀
    FTP應用看這篇!<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP低功耗4G模組AT<b class='flag-5'>開發</b>示例

    低功耗4G模組AIR780EX ——開發板使用說明

    EVB-AIR780EX 開發板通信推出的基于 Air780EX 模組所開發的,包含電源,
    的頭像 發表于 09-11 11:55 ?1211次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>低功耗4G模組<b class='flag-5'>AIR</b>780EX ——<b class='flag-5'>開發板</b>使用說明

    4G模組Air780E開發板使用手冊

    開發板Air780E使用說明
    的頭像 發表于 09-09 18:22 ?1374次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>4G模組<b class='flag-5'>Air</b>780E<b class='flag-5'>開發板</b>使用手冊

    LuatOS開發板Core_Air780EP使用說明

    Core-Air780EP 開發板通信推出的基于 Air780EP 模組所開發的,包含電源
    的頭像 發表于 09-03 17:38 ?1009次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>LuatOS<b class='flag-5'>開發板</b>Core_<b class='flag-5'>Air</b>780EP使用說明

    低功耗4G模組Air700EAQ——開發板使用說明

    低功耗4G模組Air700EAQ——開發板使用說明
    的頭像 發表于 08-30 17:14 ?1469次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>低功耗4G模組<b class='flag-5'>Air</b>700EAQ——<b class='flag-5'>開發板</b>使用說明

    LuatOS開發板使用手冊——Air700EAQ

    本文詳細講解了Air700EAQ開發板的使用說明。
    的頭像 發表于 08-28 14:37 ?829次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>LuatOS<b class='flag-5'>開發板</b>使用手冊——<b class='flag-5'>Air</b>700EAQ

    LuatOS開發板使用手冊——Air700ECQ

    LuatOS開發板使用說明——Air700ECQ
    的頭像 發表于 08-23 16:28 ?889次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>LuatOS<b class='flag-5'>開發板</b>使用手冊——<b class='flag-5'>Air</b>700ECQ

    Air700ECQ硬件設計手冊——應用接口1

    Air700ECQ硬件設計手冊——應用接口1
    的頭像 發表于 08-21 18:46 ?631次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>700ECQ硬件設計手冊——應用接口1

    Air780EP模塊——AT指令MQTT接入OneNET開發指南

    過程,Air780EP和MQTT是最佳拍檔,讓設備互聯變得輕松又靠譜。想不想試試這簡單又神奇的操作?那就來吧!本文詳細講解了基于Air
    的頭像 發表于 08-19 16:40 ?3915次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP模塊——AT指令MQTT接入OneNET<b class='flag-5'>開發</b>指南

    MQTT應用看這篇!Air780EP_LuatOS_MQTT應用指南

    Air780EP 是的低功耗4G模組之,支持LuatOS的腳本二次開發,即使是不太懂技術的老板,也能輕松使用
    的頭像 發表于 08-08 17:13 ?2815次閱讀
    MQTT應用看這篇!<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP_LuatOS_MQTT應用指南