2014年11月23日 星期日

自製USB to UART

 這其實是很久以前做好的,從這DIP混SMD的風格大概可以看的出來....
當然還有堆積的灰塵
總之,這是用Atmega32U2做成的USB轉UART,基本上就是UNO的那一個電路
連Fuse我也保留了
至於為啥那麼晚PO,主要的原因是因為當時我做完之後,發現出來的UART都是亂碼
那時候還沒有LA,所以找不到原因,用了之後就發現UART的時脈有問題,波形比正常的還要大三倍多然後就從震盪器開始追,最後發現了....AVR的FUSE沒有跟動過,當時燒錄的時候用的是Flip,沒有設定過新的,所以系統時脈有問題

基本上這個HEX檔案在Arduino的Hardware裡面有.也有附上FUSE設定的說明,之後用Avrdude+Arduino as ISP設定過就沒問題了

AVRDUDE(Arduino\hardware\tools\avr\bin)和他的config file(Arduino\hardware\tools\avr\etc\)
還有剛剛那個HEX file (Arduino\hardware\arduino\firmwares\atmegaxxu2\)copy到一個新的地方之後,就可以用CMD下指令
avrdude -p 改成你MCU的版本代號(m32u2,m16u2) -P Arduino的COMPORT -b 19200 -c avrisp -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m

沒有留言:

張貼留言