大部分玩 Arduino 的朋友,都還是從 UNO板子上開始玩,而這些板子的共性,就是都是用了 DIP(直插)28 腳封轉(zhuǎn)的主芯片。而轉(zhuǎn)為 Nano 的話,其實芯片核心并沒有變化,但是封裝從 DIP28 改為 TQFP32,兼容版的UNO用的和nano版是同樣的芯片,軟件方面都不需要變動,程序都是通用的。硬件方面又有什么不同呢?32 – 28 = 4,多了4個引腳。
如上圖,多了 VCC 和 GND,沒什么好說,而多的 ADC6 和 ADC7,就是是之前 DIP 封轉(zhuǎn)的芯片所沒有的東西了,為了兼容UNO原版,兼容版這兩個引腳也是沒有引出的,而在 nano 中是把這2個ADC引腳引出來了。
上圖很明顯,在A6,A7引腳上有個紅色的驚嘆號,說明需要我們注意,大家注意看datasheet中的管腳定義,就會發(fā)現(xiàn)這 ADC6 和 ADC7 實際上和 ADC0-ADC5 是不太一樣的。ADC0-ADC5 其實是作為 PC0-PC5 的第二功能存在的,分別對應(yīng) Arduino 定義 A0-A5。也正因為次,在Arduino 的官方指南中提到,“The analog input pins can be used as digital pins, referred to as A0, A1, etc. ”。說的是,模擬輸入口可以當(dāng)數(shù)字口一樣用。對于A0-A5來說,確實不錯。但對于第一功能就是ADC(模數(shù)轉(zhuǎn)換)而不兼有普通 IO 口功能的 ADC6 和 ADC7 來說。這句話就要打折扣了。A6 和 A7 只能作為模擬輸入使用,不要把它當(dāng)成 類似于 PC PB 這樣的 IO口去使用。
而且,這本并不是 Arduino 內(nèi)核的問題,而是硬件本身的設(shè)計就是這個樣子。A6 和 A7 確少作為 標(biāo)準(zhǔn)IO口 所需的必要硬件配置。
實測中確實是這樣,在 A6、A7 引腳上,想運行 Blink 例程,使用 pinMode(A6, OUTPUT),digitalWrite(A6, HIGH) 都不會得到你所需要的效果。更崩潰的是,你可能改變了芯片內(nèi)部你原本不想改變的寄存器配置,沒準(zhǔn)會有詭異意外發(fā)生。玩 Nano,或者是貼片AVR的 Arduino 朋友們,可要注意。
總結(jié)來說,就是在nano版中,A6,A7只能用作ADC轉(zhuǎn)換用,而不能用作數(shù)字口來使用。
-
芯片
+關(guān)注
關(guān)注
459文章
52452瀏覽量
439964 -
引腳
+關(guān)注
關(guān)注
16文章
1700瀏覽量
52759 -
Arduino
+關(guān)注
關(guān)注
189文章
6497瀏覽量
191941
原文標(biāo)題:關(guān)于Arduino Nano你沒有經(jīng)歷過的坑
文章出處:【微信號:chuxue_MCU,微信公眾號:單片機(jī)技術(shù)宅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
下一代物聯(lián)網(wǎng):芯科科技和Arduino借助邊緣AI和ML簡化Matter設(shè)計和應(yīng)用

鏡子起霧?燈光太刺眼?三鍵觸控芯片,讓你的鏡子“活”過來!

機(jī)器視覺企業(yè)埃科光電的突圍之路
慧明推出DM16會議版數(shù)字調(diào)音臺
Arduino Nano Matter開發(fā)板正式上市
基于Arduino的串口通信項目
在學(xué)習(xí)go語言的過程踩過的坑
Arduino程序:實現(xiàn)SD NAND(貼片sd卡)的讀寫功能
板振產(chǎn)生的原理、定位問題和優(yōu)化方法

開源項目!基于Arduino做的“魷魚游戲”BOSS面具,支持動作檢測
Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

評論