其實之前的「將Arduino Uno當做一台ISP線上燒錄器,燒錄bootloader或sketch到麵包板上的ATmega328P-PU晶片」,就已經曾在麵包板上建構Arduino,不過那時使用一塊Arduino板子當做ISP線上燒錄器,而這篇使用「USB轉TTL Serial」轉接卡。關於USB轉換功能的相關產品,可參考這一篇。
我將在麵包板上插入ATmega328P-PU微控制器晶片,並加入「USB轉TTL Serial」轉接卡FTDI Friend,開發時就跟一般的Arduino開發板完全一樣。我假定微控制器晶片已經燒錄bootloader了。
這是ATmega328的腳位功能圖,跟ATmega168一樣。
電路圖如下,從電腦USB埠、經由FTDI Friend供電給ATmega328,FTDI Friend的TX、RX連接到ATmega328的RX、TX。
ATmega328針腳1(reset),接10k歐姆電阻再接5V;另接開關再接地,燒錄必須手動按開關重置。
ATmega328針腳10(對應Arduino數位腳位13),接220歐姆電阻、串聯LED。將燒錄Blink範例草稿碼測試是否正常。
其他就是基本接法,接電源、接地、接外部石英晶體震盪器。
麵包板示意圖如下。
FTDI Friend的背後。
完成囉,使用時就跟一般Arduino開發板相同,哈哈。
當然啦,也可以轉移到洞洞板上,需要自己焊接線路。
除了使用「USB轉TTL Serial」的轉接卡或轉接線,如果你的電腦還有9針的RS-232序列埠的話,加上「RS-232轉TTL Serial」的產品,也是可以的。但要記得,連接序列介面時要跨接,某端的RX與TX分別接到另一端的TX與RX,但某些產品似乎故意調換這兩個腳位的標示。
2013/09/09
在麵包板上建構Arduino(ATmega328P加USB轉TTL Serial轉接卡)
Subscribe to:
Post Comments (Atom)
使用 RS-232轉TTL Serial 模組,也可以進行self-progamming燒錄(微控制器裡已有bootloader)。
ReplyDelete如果我用MAX232晶片DIY一個RS-232轉TTL Serial 模組,
ReplyDelete是否也可以用他來為Arduino灌bootloader與upload sketches?
可以upload sketches,
Delete但灌bootloader應該不行,要用燒錄器。
請問洞洞板的部分是如何供電的? 再麻煩說明, 謝謝
ReplyDelete網頁最後一張照片,洞洞板的右下角落是線性穩壓晶片7805,輸入端加上0.33 µF電容,輸出端加上0.1 µF電容,我以9V方形電池從螺絲端子台供電,經7805穩壓成5V電壓。
Delete另可參考我寫的Arduino入門書(http://yehnan.blogspot.tw/2014/02/arduino_21.html)裡第9章關於7805與其他穩壓晶片的部份。
再次打擾您, 請問站長, 板子上有一個3.3V的孔, 如果用這種方式, 請問要怎麼用, 謝謝
ReplyDelete什麼板子有3.3V?
Delete請問你的問題是什麼?
站長你好
ReplyDelete我最近想要試做arduino官方提供的
http://arduino.cc/en/Main/ArduinoBoardSerialSingleSided3
網站的電路說ic必須用ATMEGA8(or ATMEGA168)
但我手邊只有ATMEGA328
找了DATASHEET也不太清楚兩者使用上有什麼不同(電路的電阻、電容值...之類的差別)
想請問站長兩者(ATMEGA8(or ATMEGA168)與ATMEGA328)使用的電路是一模一樣的嗎?
據我所知,atmega168與atmega328的腳位功能完全相同,差別僅在於328的記憶體較大。
Delete所以這份電路應該可以換成atmega328。
站長您好:
Delete請問arduino官方提供的這塊板子(http://arduino.cc/en/Main/ArduinoBoardSerialSingleSided3)要怎麼燒入程式呢??,是否可以用RS-232轉USB的傳輸線直接燒入呢??
這塊板子有RS-232 9針以及電壓轉換的電路(應該是12V轉5V,不太確定),如果你電腦還有RS-232的話,可直接以一條RS-232線(一頭9針插板子、一頭9針或25針插電腦)連接,進行燒錄。
Delete也可使用RS-232轉USB的傳輸線,把電腦的USB埠模擬成序列埠,然後進行燒錄。
所以你問題的答案是:可以。
等於是從電腦的USB埠、經線材轉成RS-232、再由板子上的電路轉成Arduino微控制器晶片可接受的電壓與訊號。
站長您好:
ReplyDelete看完你打的這幾篇文章後還是有一些不解之處
1.如果我使用atmega328p這一顆MCU再搭配電腦USB埠經由FTDI Friend在使用此文章的電路就可以在電腦上打程式燒錄嗎?
2.如果可以在電腦上是用什麼程式來編輯??
3.bootloader 在站長其他文章中有討論過燒錄這個程式主要是來單步執行與Debug嗎? 我可以單存只要燒入我sketch嗎?
1. 對。但atmega328p必須已含有bootloader。
Delete在麵包板上建構Arduino並加上FTDI Friend,其實就等同於一塊Arduino板子。
2. 就是一般的Arduino程式。使用Arduino的軟體開發環境。可到http://arduino.cc/en/Main/Software下載。
3. 燒錄sketch時,
a. 可以使用並列埠燒錄線,http://yehnan.blogspot.tw/2013/09/arduino.html
b. 可以使用專門的燒錄器,http://yehnan.blogspot.tw/2013/09/avr-ispadafruit-usbtinyisp.html,可燒錄sketch、也可燒錄bootloader。
c. 當MCU已含有bootloader時,透過一般USB(轉序列埠)連線,便可燒錄,這也是一般採用的方式。
你不想要bootloader、只想燒錄sketch的話,可以使用a.與b.。
詳情請參考我寫的其他文章http://yehnan.blogspot.tw/2012/02/arduino_21.html,
也可參考拙作「Arduino輕鬆入門:範例分析與實作設計」http://yehnan.blogspot.tw/2014/02/arduino_21.html 的第12章。
站長你好:
ReplyDelete閱讀完其他文章後發現還是有一些不解之處(可能領悟力較差~如果問到比較基本的問題~麻煩站長多多包容)
1.目前的了解是atmega328p如果沒有燒bootloader到裡面就沒辦法使用此文章方法來進行燒入我的程式??
2.bootloader他應是debug用或電腦同步單步執行??
3.因為目前arduino uno是跟朋友借的,所以爾後(如果我沒有arduino uno或相關產品)買來新的atmega328p(無bootloader無sketch)就無法做燒入了嗎?
1. 對。
Delete2. Arduino的bootloader很簡單,就是燒錄用。據我所知應無除錯功能,但想要的話可以自己加。
3. 光買一顆atmega328p晶片,裡頭一般來說並沒有Arduino的bootloader。想要燒錄的話,可使用燒錄器,例如http://yehnan.blogspot.tw/2013/09/avr-ispadafruit-usbtinyisp.html。
有些拍賣商家可幫你事先燒錄bootloader。
買張Arduino開發板的好處就是方便,一連接電腦就可以了,
Delete想要在麵包板上建構Arduino的話,通常是為了降低成本、深入學習,
不論如何,手上還是要有一張板子才好,現在板子也很便宜吧,
而且,有一張Uno板的話,也可以把Arduino Uno當做一台ISP線上燒錄器,燒錄bootloader或sketch到麵包板上的ATmega328P-PU晶片,詳情請看http://yehnan.blogspot.tw/2013/02/arduino-unoispbootloadersketchatmega328.html 。
站長您好,請問reset 的時機點是什麼時候,以及多久呢?我都一直收到 vrdude: stk500_recv(): programmer is not responding
ReplyDelete請問你是哪塊板子?
Delete上傳需使用RX與TX,對應腳位通常是0與1,請拔除接線,避免衝突。
到Arduino IDE偏好設定裡,勾選 顯示詳細輸出:上傳。
在看到
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
的時候按下板子的RESET鍵,按一下即可,約0.3秒吧。 也可試試在看到「之前」按下。
也可試試...按下Arduino IDE的Upload,然後一直按著板子的RESET不放,看到以上訊息後再放開RESET。
解除安裝電腦端的驅動程式,然後重新安裝。
如果都不行,那就只能使用燒錄器了。
我有張板子,怎麼弄都不行,只好用燒錄器來燒錄程式。
感謝您迅速回復。我晶片是用 ATmega328P,而USB轉TTL 用的是 FT232RL,是從淘寶買的 ( http://goo.gl/EK8vHk )
Delete外國人有些好像還會說DTR CTS也要接,一個接地一個接電容串reset ,但我還是沒用
晶片買回來的時候已經燒了閃燈程式,我按照您的接法也看到閃燈了 (表示晶片有在運作)
不過用IDE 就是一直失敗
不知是否還有什麼眉角我沒有注意到的
晶片買回來的時候已經燒了閃燈程式?
Delete你確定 ATmega328P裡面有Arduino的bootloader嗎?使用這種燒錄方式的話,必須有bootloader。
我沒使用DTR CTS也可燒錄。
你的USB轉TTL(FT232RL)的驅動程式裝了嗎?在Arduino IDE裡看到Port編號?
他有強調他已燒bootloader 已經下載閃燈程序
DeleteFT232RL 在mac 有看到 port 編號
reset 按鈕的反應很快,一放開馬上閃燈,不知道是不是正常?
會這麼懷疑是因為,我有買一個 arduino nano ,他也得按reset才能下載程式,它按下去就有一種 "似乎正在boot " 的延遲感
可是這個麵包版上的晶片,按下去燈滅,放開卻馬上閃燈
如果再不行,我就試一下您其他教學 (我有一個大的 arduino UNO 開發版,乾脆把它變成燒錄器好了)
感謝,您的相關文章都很有用!
的確不太正常,除非他有改過bootloader。
Delete你確定FT232RL的TX/RX跟Atmega328p的TX/RX,有接對嗎?
有些模組的TX/RX寫反了。
MultiWii SE 上面是使用 ATmega328P 的晶片,板上有一組 FTDI 接腳,一組 TTL 接腳,
ReplyDelete看網路上都使用專屬的 FTDI USB to TTL 來做飛行模式調校程式的更新,
如果是使用 Raspberry Pi 的 USB to TTL(http://goods.ruten.com.tw/item/show?21308225323607),
請問站長是否知道是要接板上的 FTDI 接腳或是 TTL 接腳?
如果要接 FTDI 的接腳,Raspberry Pi 的 USB to TTL 側邊有接孔,
是否可自行焊連接線做一個跟 MultiWii SE 板上 FTDI 接腳相符的接口?
USB to TTL(http://goods.ruten.com.tw/item/show?21308225323607)已經具備USB轉TTL的晶片,USB端接往電腦,TTL當然就直接接往ATmega328P的TTL接腳。
ReplyDelete但如果MultiWii SE自己已經有FTDI(USB轉TTL),就如同一般的Arduino板子(已內含USB轉TTL功能),那就不需要另外買一條轉接線了,直接以普通的USB線連接不就得了。
您好:
ReplyDelete想請教您,我按照您所提供的基本電路用洞洞板弄出了一塊 arduino板。但現在有點問題。
請問您有測試過自製的arduino板上,analog pin的功能是否正常嗎?
我有一個按照網路所製作的DS1307 RTC,使用A04與A05 pin讀取。
在購買的arduino板上運作正常,但是在自製的arduino板上會顯示無法sync RTC。
我測試過,將自製的arduino板上的ATMEGA328P拆下直接裝到購買的arduino板上(沒有重新燒程序),RTC是可以正常同步的。但再裝回自製的arduino板上,就又變成無法跟RTC sync。
Digital pin有測試過設定按鍵與點亮LED功能,是正常的。
我沒辦法排除analog pin的問題,請問您是否有什麼想法呢?
> 自製的arduino板上,analog pin的功能是否正常嗎?
ReplyDelete是的,正常;測試過。
> DS1307 RTC,使用A04與A05 pin讀取
也都正常,不管是用Uno板,還是用自製的。
使用RTC時,Uno的A4其實是I2C的SDA、A5其實是I2C的SCL。應該跟analog pin無關。
既然ATmega328P拆下來後是正常的,那麼晶片與程式方面應無問題。所以是自製的arduino板方面的線路問題吧,
RTC的GND有跟Arduino的GND接在一起?
你是在麵包板上弄的還是在洞洞板上焊接?是否A4、A5的部份有短路現象?
只好再次檢查一次線路囉。加油。祝好運。
>所以是自製的arduino板方面的線路問題吧,RTC的GND有跟Arduino的GND接在一起?
Delete是的,所有的+5V或是GND都是接在一起的。
>你是在麵包板上弄的還是在洞洞板上焊接?是否A4、A5的部份有短路現象?
是在洞洞板上,有測過焊點,沒有短路的現象。
不過我剛剛用自製版的ATMEGA328P在麵包板上重建電路,結果還是一樣沒有辦法與RTC sync。
嗯,隔空抓藥很困難啊。
Delete照片?
我剛剛又測了一遍,一切正常。話說回來,你的RTC既然可用於Uno板,自製的板應該也可以,嗯,問題在哪裡呢。
Delete線路連接錯誤嗎? 你把DS1307的SDA SCL接到ATmega328P的哪個腳位了?
好的,這是照片
ReplyDeletehttp://imgur.com/JgGKABd
RTC沒有放上去,因為會擋住線路。
>你把DS1307的SDA SCL接到ATmega328P的哪個腳位了?
SCL接ATmega328P的38 pin,SDA接ATmega328P的37 pin
我現在對為什麼無法sync RTC是覺得有點難以理解。
線路看不出問題。
Delete那麼RTC的部份呢?
RTC的線路很亂,照片上會很難看出線路。
Delete不過接到購買的arduino板上都是正常的,可以從RTC取得時間。
嗯,那就...再檢查看看吧。
Delete如果可以的話,還希望你找出原因後,能回到這裡留言。謝謝。
Delete我剛想到,打算將購買的arduino用I2C連接到自製的arduino,用以測試自製arduino上I2C讀取是否正常。
Delete以排除自製arduino及自製RTC是否有問題。
>如果可以的話,還希望你找出原因後,能回到這裡留言。謝謝。
哈哈...多謝您的幫助.....如果我找得出來問題的話......
可以的話,拍RTC部分的照片讓我看看。
Delete我剛剛試過將購買的arduino用I2C連接到自製的arduino,結果通訊是正常的。
Delete所以我想可能是自製的RTC的部分有狀況。
這是我的RTC的正面: http://min.us/i/pIr4fZdeAfa3
這是我的RTC的反面: http://min.us/i/W5Y7gL3NlWR7
我已經將照片的方向鏡像處理過了,是直接對應的。
是否能再麻煩您一件事,您發布的DS1307的程式很好用,設定時間也很方便。
但我將delay(1000)的方式拿掉,改使用 Timer.h 讓時間以每秒一次顯示,這時候我就沒辦法設定時間了。
比如我使用 Timer.h 讓時間每秒顯示一次,顯示是正常的,但我如果輸入y2014 或是 M2等等設定時間日期的指令,都只會顯示"wrong"。如果改回成delay(1000)的方式來顯示時間,就可以正常設定時間日期。是不是有什麼樣的方法能夠修正呢,謝謝。
> 我想可能是自製的RTC的部分有狀況
ReplyDelete可是你不是在一般的Arduino板上測試過且沒問題,那麼RTC部分應該是正確的啊。
嗯,果然很亂,看不出所以然。orz。
看到"wrong"代表執行了程式裡的pf("Wrong\n");
也就是int t = Serial.read();的t讀到了奇怪的東西,
試著把Serial.read()讀到的東西印出來看看,看看讀到些什麼。
>可是你不是在一般的Arduino板上測試過且沒問題,那麼RTC部分應該是正確的啊。
Delete對,這也是我覺得很奇怪的事情。
>試著把Serial.read()讀到的東西印出來看看,看看讀到些什麼。
對耶,我試試看。
>>試著把Serial.read()讀到的東西印出來看看,看看讀到些什麼。
Delete>對耶,我試試看。
我今天試過了。我在您的DS1307程序裡的serialEvent()內,
while((temp = Serial.read()) != -1){ v = v * 10 + (temp - '0');} 的後面
加入Serial.println(t);
當使用delay方式顯示時間(可以正常設定時間),在輸入y2014後,serial monitor會顯示121,然後顯示新設定的日期時間。
當使用Timer方式顯示時間(無法正常設定時間),在輸入y2014後,serial monitor會顯示121 (\n) 50 (\n) Wrong (\n) 48 (\n) Wrong (\n)
如果我猜得沒錯的話,timer 讓serial.read 沒辦法一次讀完輸入的指令,而是拆成一個字一個字輸入,所以變成錯誤指令就無法設定時間日期。
我猜是因為loop裡沒有delay後,serialEvent被執行的速度太快了,導致一次只接收到一個字元,所以當輸入y2014時,程式卻只接收到y「121」。
Delete要改成更穩固的寫法的話,必須定義緩衝區,逐步接收序列埠傳來的資料(因為不確定一次會傳來多少個),判斷收到的資料是否有效,然後再處理。
嗯,要花點時間。
我以原來的程式碼為基礎(http://yehnan.blogspot.tw/2013/01/arduinortcds1307.html),改用Timer程式庫(使用1.3版,https://github.com/JChristensen/Timer/tree/v1.3),
Delete寫好後放在https://github.com/yehnan/arduino_practices/tree/master/RTC_DS1307_Timer
改寫後,輸入設定值時,必須在末尾加一個非字母或數字的字元,譬如:
「M9 」,含有M、9、空白字元。
是說等於用空白字元當作字串輸入的結束碼,讀到空白就表示字串輸入完成,是這樣的意思嗎?
Delete感謝您連日來的幫助。不知道是我的電路很奇怪還是供電很奇怪之類的。
不過這兩天我把DS1307的兩個上拉電阻換成4.7k ohm,就能正常的在自製的arduino板上面運作了。
多謝~
對。試試就知道了。
Delete4.7k? 嗯,那麼你原本的上拉電阻的值沒弄錯吧?
>4.7k? 嗯,那麼你原本的上拉電阻的值沒弄錯吧?
Delete是的,原本的是 紅紅紅金 的電阻,用電錶量是2.2k 的。
其實我也不知道為什麼,是因為上次做這項測試 時候是用4.7k 的電阻做上拉電阻。所以就想說試試看。
不過因為我沒有做很完整的測試,所以可能就當作參考。
上次做 將購買的arduino用I2C連接到自製的arduino 這項測試的時候
Delete嗯...
Delete這裡有寫怎麼計算上拉電阻,參考一下吧。
http://www.edn.com/design/analog/4371297/Design-calculations-for-robust-I2C-communications
好的,謝謝您,我會讀看看的。
Delete不過可能八成都看不懂....orz
我也看不懂。
Delete請問一下 我是用usb to ttl 紅-3.3v 黑-gnd 綠-rx 白-tx
ReplyDelete燒入一般uno板子 為何無法燒入avrdude: stk500_getsync(): not in sync: resp=0x00
出現avrdude: stk500_getsync(): not in sync: resp=0x00的原因很多,
Delete請參考
http://yehnan.blogspot.tw/2014/10/arduinostk500getsync-not-in-sync.html
謝謝你哦
Delete所以 我這樣這樣的接線應該沒錯吧:D
我只有四條線 都接再 uno板子上
用一般usb可以正常使用 usbttl接過去才有問題
不確定。
Delete我沒看到你的接線,不知道你用的是哪一個usb to ttl產品。
有些產品的rx與tx相反了。
Uno板是5V,你確定3.3V可行?
後來我把它改接到5v了 參考的網址 幾乎都嘗試過一次了
Delete除了 換線(只有一條)
還有bootloader(原本的板子可以使用是不是就代表ic上有了,不需要再燒錄?)
下面是接線和usb ttl的圖片 麻煩您幫我看看 我用了好久都是無解阿哈哈
https://drive.google.com/file/d/0B5YFJr3WxNkEMi11UFZHd3FZdm8/view?pli=1
有些改Arduino IDE的選單「Tools-Port」嗎?
Delete燒錄時,有在適當時機按下板子的Reset鈕?
請提供Arduino IDE的輸出。
後來我把它改接到5v了 參考的網址 幾乎都嘗試過一次了
ReplyDelete還是無法使用 除了
換線(因為只有一條哈哈)
微控制器裡的bootloader壞了(這個是不是原本的可以上傳就是有bootloader了?)
下面是我的接線圖 和usb ttl 麻煩您幫我看一下 用了好久都無解阿哈哈
https://drive.google.com/file/d/0B5YFJr3WxNkEMi11UFZHd3FZdm8/view?usp=sharing
您好
ReplyDelete想請教一個問題,我有購買網路上的Arduino Pro mini 3.3V/8Mhz
我將上面的Atmega 328P MCU拆下來接在我的小板上
有將TX、RX、DTR、VCC、GND拉出來接USB to TTL版
MCU使用內振,Arduino 也有使用官網的"ATmega328 on a breadboard (8 MHz internal clock)"板子
但是程式一直沒燒入進去MCU
請問是否還有什麼需要注意的呢?
謝謝
您好
Delete我剛剛使用朓腺,將小板上的OSC腳外接8Mhz振盪器
就可以燒錄了
請問是否因為MCU的Bootloader燒錄版本為外振8Mhz
所以才會無法使用內振燒錄程式碼呢?
謝謝
應該是因為fuse的設定。
Delete更動震盪頻率也需修改fuse。
uno板上AREF空接 麵包板上需要接vcc嗎 假如我的analog signal是0~5V
ReplyDelete看不懂你的問題。
Delete請問當我要用atmega328 當單晶片,並且商品化,要注意甚麼?
ReplyDelete我最近在研讀相關的電路學,卡在的點是計算相關功耗,是否降到最低呢?
而商品是藍牙相關傳資料,採用HM-10 藍牙4.0,有要考量到安全性嗎?
> 商品化,要注意甚麼?
Delete很多。
> 是否降到最低呢?
根據你的需求而定。
> 有要考量到安全性嗎?
不懂你的問題。
請問您~若外接電源 Vcc
ReplyDelete用四顆1.5V電池,共6V會燒毀嗎?
謝謝您
規格書寫著Operating Voltage 1.8 - 5.5V,Absolute Maximum Voltage 6.0V。
Delete所以如果你確定真的是6V,那就應該可以。
但是直接用電池,也就是unregulated,電壓會上下起伏,不建議。
你好
ReplyDelete想請問一下像上面您提到的那顆ATmega168的9腳、10腳,上面是PB6、PB7這種腳可以直接空接嗎?
還是也必須連到哪些腳位上嗎?
ATmega168的9腳、10腳,通常外接crystal。
Delete若不接,可使用晶片內建的震盪時脈,但需修改fuse。
您好,想請問一下?
ReplyDelete如果我用兩塊自製Arduino要做對接資料傳輸
並且不打算接USB傳輸,打算把ATmega328裝在Uno板上做燒錄
TX與RX還是必須做RS232轉TTL?
還是只要先燒錄好,直接把自製的板子對接就好?
直接連接兩顆ATmega328的TX與RX。
Delete這邊TX接另一邊的RX。
了解 感謝老師的解答
Delete您好,關於arduino的SD卡有問題想請教一下
ReplyDelete如果是將感測的資料,然後存到SD卡
目前可以將兩筆資料同時存到一個檔案
請問有辦法將兩筆資料同時存到兩個檔案裡嗎
或者是每使用一次 自動存成一個檔案
例如開關20次 會有20個檔案
語法的部分該如何表示
懇請請葉大指導
改成不同檔名,不就可存入不同的檔案。
Delete不懂你的問題。
有試著改成不同檔名
Delete但是第二筆資料都無法存入第二檔案
我再試看看是不是語法錯誤
感謝您的回覆
程式碼?
Delete請問attiny85也可以用這方法嗎?
ReplyDeleteattiny85,請參考
Deletehttp://yehnan.blogspot.tw/2013/02/arduino-unoispsketchattiny85-20pu.html
http://yehnan.blogspot.tw/2014/04/attiny85adafruit-trinket.html
請問可以提供洞洞板那張圖的完整電路圖嗎?
ReplyDelete急需~
沒有。
Delete葉大您好~
ReplyDelete我買了cp2102的usb ttl轉接版
確定驅動程式有安裝成功 可是直接燒錄上傳程式卻失敗
是因為之前有用arduino當燒錄器 燒入blink過的關係嗎?
還是必須再將晶片重新燒錄bootloader?
是的。
ReplyDelete使用燒錄器的話,不管晶片裡有什麼(一般程式或bootloader),都可燒錄。
使用 usb ttl轉接板的話,要靠電腦端的程式(Arduino IDE與avrdude)與晶片裡的bootloader,通力合作,才能燒錄一般程式。
Using Port : COM5
ReplyDeleteUsing Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x48
我重新用arduino燒錄bootloader
再回來使用usb ttl燒寫,仍然會出現上面訊息
你是選 「草稿碼」-「上傳」吧?
Deletearduino板子開機(有電)後,bootloader先進入「燒錄模式」,此時可接受來自Arduino IDE/avrdude的燒錄指令,過幾秒後,若無燒錄指令,會進入「一般模式」,此時會執行一般的草稿碼,例如Blink。
Arduino IDE按上傳按鈕後,Arduino板子端要重置,才能進入燒錄模式。
一般Arduino板子,如Uno/Leonardo,Arduino IDE端想要上傳草稿碼(燒錄)時,板子/晶片端會自動重置,所以沒問題。
我不確定cp2102會不會,假定不會,那你必須在Arduino IDE想要跟板子/晶片溝通進行燒錄時,重製晶片。
我剛剛試過在上傳一般程式時
Delete多按幾次reset按鍵就可以成功了
感謝葉大的協助!!
應該是在適當的時間點,按一次reset即可。
DeleteThis comment has been removed by the author.
ReplyDelete您好,想請問一個問題
ReplyDelete我arduino在燒錄完畢之後,本來可以將資料存取到SD卡,但是都在20秒的時候讀不到SD卡
每次都如此,請問是什麼問題呢?
葉老師您好:
ReplyDelete請問USB to TTL 如何直接接Arduino呢?
我的用意是希望檢查USB to TTL是否故障,因為我懷疑他壞了!
您好!
ReplyDelete想請問,若想在洞洞板的Arduino,也能實現原本Arduino以USB界面連接電腦的功能。
(以UART傳輸資料,Arduino指令[print]能顯示在COM Port視窗的功能)
若要實現以上功能,是否要另外加裝16U2這個晶片?