首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于Arduino Nano你没有经历过的坑

关于Arduino Nano你没有经历过的坑

作者头像
单片机技术宅
发布2020-03-17 11:21:36
1.8K0
发布2020-03-17 11:21:36
举报

大部分玩 Arduino 的朋友,都还是从 UNO板子上开始玩,而这些板子的共性,就是都是用了 DIP(直插)28 脚封转的主芯片。而转为 Nano 的话,其实芯片核心并没有变化,但是封装从 DIP28 改为 TQFP32,兼容版的UNO用的和nano版是同样的芯片,软件方面都不需要变动,程序都是通用的。硬件方面又有什么不同呢?32 – 28 = 4,多了4个引脚。

如上图,多了 VCC 和 GND,没什么好说,而多的 ADC6 和 ADC7,就是是之前 DIP 封转的芯片所没有的东西了,为了兼容UNO原版,兼容版这两个引脚也是没有引出的,而在 nano 中是把这2个ADC引脚引出来了。

上图很明显,在A6,A7引脚上有个红色的惊叹号,说明需要我们注意,大家注意看datasheet中的管脚定义,就会发现这 ADC6 和 ADC7 实际上和 ADC0-ADC5 是不太一样的。ADC0-ADC5 其实是作为 PC0-PC5 的第二功能存在的,分别对应 Arduino 定义 A0-A5。也正因为次,在 Arduino 的官方指南中提到,“The analog input pins can be used as digital pins, referred to as A0, A1, etc. ”。说的是,模拟输入口可以当数字口一样用。对于A0-A5来说,确实不错。但对于第一功能就是ADC(模数转换)而不兼有普通 IO 口功能的 ADC6 和 ADC7 来说。这句话就要打折扣了。A6 和 A7 只能作为模拟输入使用,不要把它当成 类似于 PC PB 这样的 IO口去使用。

而且,这本并不是 Arduino 内核的问题,而是硬件本身的设计就是这个样子。A6 和 A7 确少作为 标准IO口 所需的必要硬件配置。

实测中确实是这样,在 A6、A7 引脚上,想运行 Blink 例程,使用 pinMode(A6, OUTPUT),digitalWrite(A6, HIGH) 都不会得到你所需要的效果。更崩溃的是,你可能改变了芯片内部你原本不想改变的寄存器配置,没准会有诡异意外发生。玩 Nano,或者是贴片AVR的 Arduino 朋友们,可要注意。

总结来说,就是在nano版中,A6,A7只能用作ADC转换用,而不能用作数字口来使用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单片机技术宅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档