background image

Jun 01 2022

使用platformio上傳arduino時出現錯誤代碼(0107)

第一次接觸arduino,很開心地寫下了一個閃爍板子上的LED程式碼後要上傳到板子,結果上傳時發生了錯誤 出現了Failed to write to target RAM (result was 0107)這樣的錯誤代碼,試了網路上很多的方式都沒有成功,最後發現了原來serial port 不正確...

以下是上傳時發生的錯誤訊息資料

確認線材

因為板子上的usb介面事mirco usb的介面,這個介面很多的線材是只有充電功能而已無法做資料傳輸,所以...首先要先確定你的線材是不是可以做資料傳輸的用途, 否則做了再多的工作可能都無法上傳成功

因此我還上了pchome購買了usb type-c to mirco usb的資料傳輸線...

驅動程式

我使用的板子是nodeMCU ESP-12E(ESP-8266的板子,晶片是CH9102X),搭配的事CLion的IDE開發工具

在網路上找到的問題主要都是第一次上傳到板子沒有安裝相對應的驅動程式所以導致錯誤發生,如果發生這個狀態好解決,安裝相對應的驅動程式就可以解決了 ESP8266的晶片有兩種一種是CH9102另一種是CP2102,網路上搜尋的時候還會出現CH340相關的資料,CH340跟CH9102是相同的所以安裝的時候可以找到CH34x的驅動安裝後即可 但...如果還是不行,可以先確定一下電腦是否有抓到板子在做下一步

以下是我的output資訊,有看到/dev/cu.xxxxxx的資料,就表示真的有抓到板子囉!但如果看到了這樣的輸出,還是出現了 A fatal error occurred: Failed to write to target RAM (result was 0107)的錯誤,該怎麼辦?

確認upload port的設定

安裝驅動跟確認線材的問題我卡了許久,也確認了許多次數後我發現我的輸出錯誤都是在使用/dev/cu.usbmodem53770161961這個serial port上傳, 然後偶爾會出現資院忙碌中的錯誤

在查詢資料過程中想起了一個設定,那就是指定上傳的serial port想說隨便試試看是不是因為serial port的問題...畢竟每次都卡在同一個port上乾脆換一個試試看 所以我在platfromio.ini這個檔案上增加了一行upload_port的設定,沒想到就出現成功的資訊了!如果你在pio device list看到兩個port這個方法可以試試看,或許有用

文章標籤