用Atmega 328p 自組Arduino上傳草稿碼時, 如何自動Reset?
Arduino開發板玩了一陣子之後, 會想要自己組一個開發板。 參考做法: https://www.arduino.cc/en/Main/Standalone 這樣的好處是: 1. 省錢 開發板比較貴, ATMega328P晶片比較便宜 2. 省電 要做低粍電專案, 開發板粍電量太高 3. 好玩 但是寫完草稿碼後, 要上傳時; 以前看葉大的書, 叫我們自己找正確的時點去Reset晶片。 手動Reset的日子, 我也過了不少, 但有時太常改程式, 又不太抓得到時點, 會一直上傳失敗。 所以就想人家開發板為什麼不用手動Reset, 可以自動Reset? 發現其實只是將Serial-to-USB的RTS接腳, 接一個100nF的電容, 再接到328p晶片的Reset腳位就好。 參考來源: 電路圖 直接用來看看, 是真的可以運作的! 只是加個電容就好了, 真是神奇! 可是我用來有時也會失敗! 又Google了一下, 發現別人也有類似情形, 有人就加上拉電阻及下接電阻。 我後來查了一下Arduino官方電路圖: https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf 也是一樣做法! 就不管了, 那就這樣接吧, 後來把breadboard的元件用洞洞板焊接後, 發現上傳的成功率居然變得很高! 所以我的想法是: breakboard可能有些接觸不良的情形, 用焊接的就消除這個問題, 只是我的Serial-to-USB板子接到洞洞板做的成品時, 仍是用插接的, 加上電容也是臨時用杜邦線接的, 也會有接觸不良問題, 才造成部份的失敗率!