上一贴发的是在Arduino下如何搭建开发环境。这次,我继续试验在Arduino下试验Air001的ADC设备,就是进行模数转换。初步预想使用一个可调电阻调节电压变化,并通过开发板的ADC引脚测量这个变化的电压,通过串口输出到电脑上。
开发板的引脚设置如下图:
可以看到,和ADC有关的GPIO口有:PA0~PA7,但开发板的PA2和PA3已经被用于串口通讯,所以测试的时候需要避开。这里我们就以PA0、PA1进行测试。将开发板连到DAPLink下载器上,并接入电脑的USB3设备端口。
打开ArduinoIDE,建立一个新的工程,输入以下代码:
void setup() {
// 初始化串口波特率
Serial.begin(115200);
// 设置ADC设备使用12位处理模式
analogReadResolution(12);
}
void loop() {
// 取得PA0的模拟电压测量数据
Serial.printf("PA0 Voltage is %d mv \n", analogRead(PA0));
// 取得PA1的模拟电压测量数据
Serial.printf("PA1 Voltage is %d mv \n", analogRead(PA1));
// 延迟500ms
delay(500);
}
这里我们先进行最简单的测试,直接用杜邦线把PA0接到GND上,PA1接到3.3V上,编译、下载程序后,可以看到输出结果为:
可以看到测试结果,其中PA0很稳定,为0,符合预期接地的测试结果。但PA1的测量结果会有变化,变化不是很大,总体差异在10mV以内。因为接到的是3.3V,预想应该是4096,但实际还是有偏离,不到20mV吧,嗯,也能接受。
下面我们用可调电阻测试。断开开发板的连接,使用一个可调电阻,其固定端接于VCC(3.3V)和GND,滑动端接到PA0和PA1上。建议使用面包板搭建电路。电路搭建好、确认连接无误后,重新连接DapLink下载器,接入电脑。
因为程序不用修改,重新连接后,可以直接查看测试结果。
随着电阻的调节,数值也跟着不断变化,
测量结果还不错。
到这里,我们实现了Air001开发板的ADC的测试试验。如果你有兴趣,可以继续测试其它可用的ADC端口进行测试。