先呈上官網(wǎng)原滋原味的介紹,以資鼓勵(lì)~
Arduino mini pro 官方網(wǎng)站
這兩天隨手玩了玩大名鼎鼎的Arduino帮掉,于是又隨手寫兩篇筆記玩玩~
我玩的不是那個(gè)貴到上天,大得嚇人的Arduino大兒子UNO团南,而是在某寶上只要9塊就可以帶回家的微型迷你版Arduino宗雇,稱Pro mini钳恕。大概長(zhǎng)這樣~
Arduino Pro Mini 是基于ATmega328單片機(jī)的開發(fā)板,其實(shí)吧~除了電源就只剩ATmega328或者ATmega168了蹄衷。它的尺寸只有0.7'' x 1.3''忧额,目前它有兩個(gè)版本:
- VCC:5v / CPU:16MHz
- VCC:3.3v / CPU:8MHz
基本參數(shù)如下:
單片機(jī) | ATmega328 | ATmega168 |
---|---|---|
板載電源 | 3.35/5v~12v | 3.35/5v~12v |
邏輯電平 | 3.3v/5v | 3.3v/5v |
GPIO | 14 | 14 |
PWM | 6 | 6 |
UART | 1 | 1 |
SPI | 1 | 1 |
I2C | 1 | 1 |
模擬輸入 | 6 | 6 |
外部中斷 | 2 | 2 |
IO口額定電流 | 40mA | 40mA |
Flash | 32kB(2kB用于Bootloader) | 16kB(2kB用于Bootloader) |
SRAM | 2kB | 1kB |
EEPROM | 1kB | 0.5kB |
時(shí)鐘速度 | 8MHz(3.3v)/16MHz(5v) | 8MHz(3.3v)/16MHz(5v) |
上面的參數(shù)里關(guān)于GPIO、SPI愧口、I2C睦番、PWM的討論在很多地方都有,這里就不說(shuō)了耍属,說(shuō)說(shuō)比較容易搞暈的Flash托嚣、SRAM、EEPROM厚骗。
SRAM
就是所謂的RAM示启,內(nèi)存!運(yùn)行內(nèi)存领舰!內(nèi)存條兒那個(gè)內(nèi)存夫嗓!一定記住不是平時(shí)說(shuō)的手機(jī)內(nèi)部存儲(chǔ)那個(gè)內(nèi)存哈,那個(gè)內(nèi)存是儲(chǔ)存空間冲秽,相當(dāng)于硬盤空間舍咖,和真正意義上的運(yùn)行內(nèi)存是不一樣的東西,不锉桑!一排霉!樣!~
Flash
又稱Flash memory民轴,這個(gè)是內(nèi)部存儲(chǔ)郑诺,這個(gè)用于保存燒寫到單片機(jī)上的程序,叫固件也可以杉武。一般它的擦寫壽命在10w次左右(聽說(shuō)~→_→)辙诞。上面表格里說(shuō)到Flash中有2kB用來(lái)存Bootloader,剩下的空間就可以用來(lái)存我們自己寫的程序轻抱。Bootloader屬于單片機(jī)飞涂、手機(jī)、平板包括電腦啟動(dòng)時(shí)跑的加載程序祈搜,它起來(lái)后會(huì)加載系統(tǒng)较店,也就是平時(shí)說(shuō)的ROM或者Firmware之類的東西。
EEPROM
這個(gè)也是內(nèi)部存儲(chǔ)容燕,它主要用于存儲(chǔ)一些程序跑起來(lái)后產(chǎn)生的持久化數(shù)據(jù)梁呈,比如用戶做的設(shè)置。就算停電了都不怕蘸秘,下次啟動(dòng)后還可以讀到上次寫入的內(nèi)容官卡。它的擦寫壽命比Flash長(zhǎng)一點(diǎn)蝗茁,100w次左右(也是聽說(shuō)~←_←)。
好了寻咒,沒啥說(shuō)的了哮翘,接下來(lái)就是看看上面表格里說(shuō)的那些數(shù)字端口引腳了。
I/O
- 圖示里標(biāo)注為IDE的毛秘,就是說(shuō)在寫代碼時(shí)饭寺,需要用IDE標(biāo)注里的名稱來(lái)獲取IO口,或者叫pin(針腳)
- 燒寫程序使用的針腳為圖中北面一排(上北下南左西右東哈叫挟,你知道我說(shuō)北邊兒是哪邊兒)艰匙,當(dāng)不燒寫時(shí)也可作為UART口使用
燒寫程序
Ardunio Pro Mini燒寫程序是使用UART的,可以使用常見的3線UART抹恳,也可以使用帶流控的5線UART旬薯。我們?cè)谀硨毶峡梢暂p易的買到USB to TTL Serial Cable,這個(gè)可以作為官網(wǎng)上所說(shuō)的ISP了适秩。
使用帶流控的5線UART來(lái)給Arduino Pro Mini燒寫程序,唯一的一個(gè)好處就是在IDE上傳固件到Arduino Pro Mini時(shí)硕舆,你少按一個(gè)Arduino Pro Mini上的RESET按鈕而已秽荞。但5線的UART不大好買,買不到的話抚官,還得自己在基于類似CH340G這樣的USB to TTL Serial Cable上引出流控腳扬跋,太麻煩。
使用5線UART時(shí)凌节,應(yīng)該這樣接線:
使用3線UART時(shí)钦听,應(yīng)該這樣接線:
接下來(lái)把連接上Arduino Pro Mini的USB to TTL Serial Cable插入電腦,并裝好USB to TTL Serial Cable的驅(qū)動(dòng)倍奢,然后按照下面的步驟來(lái)燒寫固件朴上。
** 1. 下載IDE **
雖然說(shuō)Arduino官方有Web Editor,但怎么說(shuō)呢卒煞,用起來(lái)終究有點(diǎn)水土不服痪宰,所以我最終還是下載了本地IDE才順利燒寫上固件了。
Ardunio IDE下載地址
** 2. 設(shè)置IDE **
這里要設(shè)置一些信息讓Arduino IDE正確找到連接到電腦上的Arduino Pro Mini畔裕。
- 菜單欄 -> 工具 -> 串口 -> USB to TTL Serial Cable插入電腦后新增的COM口
- 菜單欄 -> 工具 -> 板卡 -> Arduino Pro or Pro Mini
- 菜單欄 -> 工具 -> 處理器 -> 選擇你購(gòu)買的Arduino Pro Mini的具體處理器規(guī)格
** 3. 編譯程序 **
在Arduino IDE里寫好代碼后衣撬,檢查保存后,確認(rèn)代碼人畜無(wú)害后扮饶,叫非戰(zhàn)斗人員立即撤離后具练,保證世界和平后,溫油地點(diǎn)下Arduino IDE工具欄上的編譯
按鈕[此處應(yīng)有圖甜无,淺淺扛点,腫么肥事]哥遮,你就可以在Arduino IDE的Console里看到編譯信息,包括你的代碼如何殘酷而錯(cuò)誤地扭曲了編譯器的三觀的報(bào)告信息占键。
** 4. 上傳固件 **
點(diǎn)擊工具欄上的上傳
按鈕[此處應(yīng)有圖昔善,淺淺,腫么肥事]后畔乙,在Console里能看到正在編譯的信息君仆。當(dāng)編譯成功并結(jié)束后,Console會(huì)開始顯示"上傳"牲距,如果你用的3線UART來(lái)連接的電腦返咱,此時(shí)在上傳超時(shí)前按下Arduino Pro Mini上的RESET按鈕,固件就開始上傳到Arduino Pro Mini的Flash中了牍鞠。如果你用的是5線UART來(lái)連接電腦咖摹,這個(gè)時(shí)候你什么都不用做,坐等就好难述。
上傳固件的過(guò)程中萤晴,你可以看到USB to TTL Serial Cable上的TX和RX LED燈狂閃,就說(shuō)明固件正在往Ardunio Pro Mini上發(fā)送胁后。如果不閃而且你的USB to TTL Serial Cable確實(shí)也有TX和RX的指示LED燈店读,那你就要檢查是不是姿勢(shì)不對(duì)了,重新按照本文說(shuō)的步驟檢查一遍或者買個(gè)T3錘子砸死電腦攀芯。
當(dāng)固件上傳完成屯断,Arduino IDE的Console會(huì)顯示上傳完成,Arduino Pro Mini也會(huì)開始執(zhí)行你的固件侣诺。
** 5. 串口驗(yàn)證 **
如果殖演,如果你的程序里有通過(guò)Serial
去打印Log信息,那么你在Arduino IDE的Serial Console就能看到Arduino Pro Mini輸出的信息了年鸳。