阅读C+中的Arduino硬件规范+; 最近我开始了C++和ARDUNO编码,这很有趣!我有不同的主板,例如Arduino UNO R3、Arduino Mini和Arduino兼容的Teensy 3.2

阅读C+中的Arduino硬件规范+; 最近我开始了C++和ARDUNO编码,这很有趣!我有不同的主板,例如Arduino UNO R3、Arduino Mini和Arduino兼容的Teensy 3.2,arduino,teensy,Arduino,Teensy,我想让我的程序自动选择特定的引脚。通过EEPROM库(不确定库是否是正确的术语,正如我说的,我是c++新手),我可以得到每个电路板的EEPROM大小。有没有办法获取其他数据,如电路板上有多少个数字/模拟管脚可用作输入和输出管脚?数字管脚的数量在NUM\u digital\u pins宏中定义 模拟输入引脚的数量在NUM\u模拟输入宏中定义 宏位于(根据OP的请求添加): Uno: #定义数字管脚数20 #定义数字模拟输入6 迷你版: #定义数字管脚数20 及 #包括“./standard/

我想让我的程序自动选择特定的引脚。通过EEPROM库(不确定库是否是正确的术语,正如我说的,我是c++新手),我可以得到每个电路板的EEPROM大小。有没有办法获取其他数据,如电路板上有多少个数字/模拟管脚可用作输入和输出管脚?

数字管脚的数量在
NUM\u digital\u pins
宏中定义

模拟输入引脚的数量在
NUM\u模拟输入
宏中定义

宏位于(根据OP的请求添加):

Uno

#定义数字管脚数20
#定义数字模拟输入6
迷你版

#定义数字管脚数20

#包括“./standard/pins_arduino.h”
#未定义数值模拟输入
#定义数字模拟输入8
Teensy 3.x

#如果已定义(uu MK20DX128_uu)
#定义CORE_NUM_TOTAL_引脚34
#定义核心数字34
#定义CORE_NUM_中断34
#定义核心数量模拟14
#定义磁芯数量\u PWM 10
#定义的elif(uuu MK20DX256_uuuu)
#定义CORE_NUM_TOTAL_引脚34
#定义核心数字34
#定义CORE_NUM_中断34
#定义核心数量模拟21
#定义磁芯数量脉宽调制12
#已定义的elif(_MKL26Z64__uu)
#定义CORE_NUM_TOTAL_引脚27
#定义核心数字27
#定义CORE_NUM_中断24//实际上只有18个,但有6个“孔”
#定义核心数量模拟13
#定义磁芯数量\u PWM 10
#已定义的elif(_MK64FX512__;)
#定义CORE_NUM_TOTAL_引脚64
#定义CORE_NUM_DIGITAL 64
#定义CORE_NUM_中断64
#定义核心数量模拟27
#定义核心数量PWM 20
#已定义的elif(_MK66FX1M0__)
#定义CORE_NUM_TOTAL_引脚64
#定义CORE_NUM_DIGITAL 64
#定义CORE_NUM_中断64
#定义核心数量模拟25
#定义核心数量PWM 22
#恩迪夫

\define NUM\u DIGITAL\u PINS CORE\u NUM\u DIGITAL
#定义数字模拟输入核心数字模拟输入
对于其他电路板,将在类似位置找到。您只需检查boards.txt中为该板设置的
build.variant
值,然后转到该板平台的
variants
文件夹下的同名文件夹


通过查看这些变体文件,您可能会发现一些其他有用的东西。

有趣的是,我似乎找不到任何相关的来源。你是怎么做到的?我会给你最好的答案,但如果你能更新你在哪里找到这个,我会非常高兴。非常感谢!:)我本来想把它添加到我的答案中,但根据板子的不同,它有点不同,所以我最终删除了它。非常感谢您的努力!:)