剛畢業時就知道arduino,但當時崇拜技術極致,喜歡把單片機的性能用到盡,以爲操做寄存器運行效率高,對arduino 這種高效模式貶爲投機取巧,不過其中也一直對arduino 有關注。性能
隨着芯片技術的飛速發展,工做多年後也對資源有了新的認識,一個單片機資源相對人工資源來講,不一值一提啊!應用中,一個項目的快速完成及後期的可維護性更重要。測試
最近跟着好友一塊兒玩飛控,發現不少模友喜歡用arduino 作些擴展功能,遂又打起arduino 的主意。到淘寶一看便宜的arduino pro mini有幾塊錢的,這麼便宜,比本身折騰板實在,就拍了幾塊回來。ui
arduino pro mini到手,固然是First Project: LED Control,對新板最真觀的一個認識。網上看了下教程,簡單的寫個IO輸出加延時,上傳,OK!!!!教程
這裏得說一下接線,由於今天的問題與接線有關。資源
接線就是編譯
VCC接一個5V轉3.3V的電源板輸出效率
GND 接電源板 GND 擴展
TXO 接平時用的USB轉串口 TXD 淘寶
RXI USB轉串口 RXDbug
GND USB轉串口 GND
上面作完IO測試,接下來固然就是Debug神器--串口了。新建Serial Port 工程,簡單的Serial.Println("Hello World!"),上傳,倒是失敗!!!!
這是怎麼回事呢,沒多想,再從新接一個板,反正買得多(哈哈,土豪的世界你不懂),上傳,OK!!!
再上傳,又是失敗!
到這就不能再不找緣由了,先度娘,不少網友有一樣問題。緣由是:
通常的Arduino模塊使用了USB轉串口芯片上的DTR信號,DTR經過電容鏈接到RESET,經過DTR提供的脈衝控制AVR單片機進行復位,而後進入Bootloader進行升級。不管是原產的Arduino仍是國產的Arduino都是這樣,只是USB芯片不一樣。
參考:http://bbs.ednchina.com/BLOG_ARTICLE_3030002.HTM
而我上面提到的接線沒有用到DTR信號,因此芯片沒有復位。
有網友給出的辦法是:燒錄的時候,提示upload時,手動按板子上的RESET按鈕復位。
我試了下,在提示編譯後資源使用狀況時,手動按板子上的RESET按鈕復位。可正常上傳固件。
既然能夠上傳固件,對於哥來講懶得再從串口板上折騰條線出來自動上傳了,知道緣由,有解決方案就行。
特些作個筆記記念下首次使用Arduino。