最近使用ATtiny85做一个应用的时候,需要模拟量采集,之前参考了一下网友的代码,analogRead(3)很容易就能采集到信号,但是换其余的引脚就不行。
后来翻了一下官方手册,查了引脚定义,觉得可能是Arduino IDE里面analogRead()函数用的是ADC序号而不是引脚序号。因为ADC3与PB3对应,所以analogRead(3)我的硬件连接是对的,其余ADC我的硬件连接错了,所以采集不到信号。

另外,在arduino网站上也搜到了类似的问题,下面有人给的解答也是这样的。
链接:https://forum.arduino.cc/index.php?topic=550241.msg3751719
所以,如果使用Arduino IDE开发Digispark ATtiny85,那么ADC采样的引脚定义如下:
analogRead(ADC_NUMBER);				//ADC_NUMBER填0、1、2、3
/*	ADC_NUMBER	--	开发板引脚
		ADC0	--	PB5
		ADC1	--	PB2
		ADC2	--	PB4
		ADC3	--	PB3
*/