日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

arduino代码_纯纯小白开发arduino--我的调试经验

發(fā)布時(shí)間:2023/12/4 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arduino代码_纯纯小白开发arduino--我的调试经验 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

arduino 是什么我就不做介紹了。這里的小白并不是說(shuō)我沒(méi)有嵌入式開(kāi)發(fā)經(jīng)驗(yàn)而是說(shuō)從來(lái)沒(méi)有實(shí)際開(kāi)發(fā)過(guò)arduino。雖然它在世界范圍內(nèi)都很流行,可是不知為何國(guó)內(nèi)專業(yè)做嵌入式開(kāi)發(fā)的人對(duì)它大多都嗤之以鼻。

我對(duì)arduino的想法是:”不管黑貓白貓,抓到老鼠就是好貓!“。只要能夠完成功能就可以。

言歸正傳:

在網(wǎng)上買了一塊ttgo生產(chǎn)的 ESP32墨水屏開(kāi)發(fā)板 。從github下載資料,發(fā)現(xiàn)它們提供的源碼是arduino的,沒(méi)有c語(yǔ)言版本的。而我又比較著急的看效果所以就硬著頭皮開(kāi)始編寫arduino的代碼了。

https://github.com/zhengzixin/T5-Ink-Screen-Series

下面是我的調(diào)試過(guò)程,希望對(duì)那些剛剛接觸arduino的人有所幫助。

  • 語(yǔ)法
  • 在網(wǎng)查看了基本語(yǔ)法,最主要的就是兩點(diǎn):配置在setup(),主循環(huán)在loop()函數(shù)中,支持回調(diào)函數(shù)。類似單片機(jī)的main函數(shù)。

    2. arduino IDE

    語(yǔ)法看完之后就是下載IDE,在arduino官網(wǎng)下載了IDE,按照教程的提示將代碼中庫(kù)復(fù)制到arduinoIDE的庫(kù)目錄中,可是總提示我?guī)觳荒苡?/p>

    雖然沒(méi)用過(guò),但是分析應(yīng)該是名字的問(wèn)題,于是修改了文件名,成功解決了這個(gè)問(wèn)題。

    教程又讓我下載esp32fs軟件,之前不明其意,覺(jué)得是和webserver相關(guān)的,也又沒(méi)有管,這也為之后留下了隱患。

    用arduino編譯器打開(kāi)工程,發(fā)現(xiàn)不能編譯,不知道到為什么,后來(lái)發(fā)現(xiàn)教程上說(shuō)還支持platformIO開(kāi)發(fā),于是果斷放棄使用arduino編譯器。

    platformIO 是VScode中的一個(gè)插件,支持很多種開(kāi)發(fā)板。

    3.編譯&調(diào)試

    使用platformIO編輯就簡(jiǎn)單多了,打開(kāi)源碼,在ini文件中修改串口,直接編譯就可以了。可是又出現(xiàn)問(wèn)題了。

    (1) 錯(cuò)誤1

    在程序執(zhí)行的時(shí)候發(fā)現(xiàn)報(bào)錯(cuò):

    ”Please use Arduino ESP32 Sketch data Upload files“,

    這突然讓我想到了沒(méi)有按照教程執(zhí)行安裝“esp32fs”軟件這一步,果斷回頭安裝,雖然到目前為止也不知道這個(gè)軟件是干什么的。

    點(diǎn)擊ESP32 SKetch ,發(fā)現(xiàn)報(bào)錯(cuò),avr 不支持spiffs,猜測(cè)應(yīng)該是因?yàn)榫幾g器不認(rèn)識(shí)esp32開(kāi)發(fā)板,就在某度上搜索安裝方法。

    安裝成功后發(fā)現(xiàn),發(fā)現(xiàn)在arduino編譯器上可以選擇esp32開(kāi)發(fā)板了

    點(diǎn)擊esp sketch data upload ,也能成功執(zhí)行了,之前代碼編譯不過(guò)去的問(wèn)題也解決了。

    (2)錯(cuò)誤2

    回到platformIO中,繼續(xù)調(diào)試程序,發(fā)現(xiàn)雖然代碼是成功執(zhí)行了但是并沒(méi)有如期的顯示教程中的效果沒(méi)有顯示出圖片來(lái),還是有問(wèn)題。

    只能回頭分析代碼,

    從代碼中分析可以知道,應(yīng)該是調(diào)用了某一個(gè)文件系統(tǒng)中的open函數(shù)打開(kāi)filename文件。此時(shí)filename = "/avatar.bmp"。

    文件系統(tǒng)肯定是需要存儲(chǔ)介質(zhì)的,而此時(shí)開(kāi)發(fā)板上并沒(méi)有SD卡,所以分析這個(gè)文件系統(tǒng)應(yīng)該使用esp32 內(nèi)部的spiflash,看到這里突然意識(shí)到“esp sketch”是干什么的了。這個(gè)工具的作用應(yīng)該就是將數(shù)據(jù)燒錄到spiflash中。

    想到這里回頭查看espfs的說(shuō)明

    https://github.com/me-no-dev/arduino-esp32fs-plugin?github.com

    在第一句就寫了它的作用了,而我還繞了一大圈子才想到,真是為我的智商捉急啊。

    按照usage,將所要顯示的圖片復(fù)制到esp32工程中的data文件夾下,執(zhí)行esp sketch data upload ,成功燒錄。

    回到platformIO中,重新燒錄程序,查看現(xiàn)象。

    成功!!!

    總結(jié):

    arduino確實(shí)非常簡(jiǎn)單,你所能想到的大部分功能在網(wǎng)上都能查到,而它的語(yǔ)法又特別簡(jiǎn)單,特別容易上手,對(duì)于那些不需要特別優(yōu)化性能和實(shí)現(xiàn)特別復(fù)雜的功能的產(chǎn)品來(lái)說(shuō)已經(jīng)足夠了。

    總結(jié)

    以上是生活随笔為你收集整理的arduino代码_纯纯小白开发arduino--我的调试经验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。