There are a number of situations where objects may unwittingly be created and destroyed. This can reduce the usability of RAM through fragmentation.
底下有舉例, 一個常見的例子就是字串的串接操作, 每次使用 '+' 來串接字串時, 就會牽涉到 3 個字串物件, '+' 號左右各一個, 以及串接後建立的新字串物件。最近就剛好遇到一個案例, 使用 urequests.get 向 OpenWeatherMap 網站查詢器項資料, 為了讓人看清楚整個參數的結構, 所以寫成這樣 (整個程式不只這樣):
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
res = urequests.get( # API 網址 | |
"https://api.openweathermap.org/data/2.5/weather?" + | |
"q=" + "Taipei" + ",TW" + # 指定城市與國別 | |
"&units=metric&lang=zh_tw&" + # 使用攝氏單位 | |
"appid=" + # 以下填入註冊後取得的 API key | |
".....................") |
結果程式一執行, 雖然可以看到結果, 但是程式結束後要回到交談模式時, ESP8266 就會當掉。只要把其中 "q=" + ... 這邊改成不要串接, 直接寫成 "q=Taipei,TW" + 就可以了, 還害我找了好久的問題。畢竟在單晶片控制板上跑的 Python 和在一般電腦上跑得不一樣, 撰寫程式時要特別小心。
4 則留言:
你好 我看過你17年教的開機不停loop 影片,請問如果我想一開機不停重播一個mp4影片(A) ,當按鍵便播放另一個mp4影片(B), 播放完便回去不停重覆播放影片(A). 請問可以嗎?謝謝你
你是指 這篇文章嗎?如同文章中所說, 我也是跟別人學的, 借花獻佛, 就我的認知, 恐怕無法完成您的需求, 要另尋他法。
是的, 是這篇。 那請問如果我只想外接按鈕,當正負接通便播放影片一次, 那可以嗎? 謝謝
我想是可以的, 文章中以下的指令就是播放指定的影片:
omxplayer -r 檔案路徑
你可以自行用 C++ 或是 Python 程式偵測按鈕狀態, 並利用函式庫的函式執行上述指令。不過因為我沒有做過, 所以無法提供現成的範例給您參考。
張貼留言