Skip to content

Commit 8c8ca84

Browse files
committed
update: 更新ADC的使用例程
1 parent 7c99763 commit 8c8ca84

1 file changed

Lines changed: 13 additions & 43 deletions

File tree

docs/tutorial-extras/adc.md

Lines changed: 13 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,65 +6,35 @@ icon: tachometer
66

77
## 简介
88

9-
本章介绍使用arduino烧录Air001开发板测量ADC
9+
本章介绍使用 Arduino 烧录 Air001 开发板测量 ADC
1010

1111
## 硬件准备
1212

13-
1.[☁️ Air001开发板入门](/tutorial-advanced/Air001_start.html)将Air001和DAPLink调试器使用排针排母连接
14-
2. 可控电压源,负极接Air001的GND引脚(地)、正极接引脚PA_0(ADC)
13+
1. [☁️ Air001 开发板入门](/tutorial-advanced/Air001_start.html)将 Air001 和 DAPLink 调试器使用排针排母连接
14+
2. 可控电压源,负极接 Air001 的 GND 引脚(地)、正极接引脚 PA0 以及 PA1
1515

1616
## 软件部分
1717

18-
按前文下载Arduino IDE、安装Air MCU,并选择接口和Air001 Dev Chip
18+
按前文下载 Arduino IDE、安装 AirMCU,并选择接口和 AirM2M Air001 Board
1919

20-
开头添加代码定义ADC引脚`PA_0`
21-
22-
```cpp
23-
#define ADC_PIN PA_0
24-
```
25-
26-
在`setup()`函数中,添加如下代码
20+
添加如下代码:
2721

2822
```cpp
2923
void setup() {
3024
Serial.begin(115200);
31-
pinMode(ADC_PIN, INPUT);
25+
analogReadResolution(12);
3226
}
33-
```
34-
35-
使用`pinMode`函数初始化ADC引脚`PA_0`,并且设置为`INPUT`输入模式。
36-
37-
在`loop()`函数中添加其余代码
3827

39-
```cpp
4028
void loop() {
41-
int adc_value = 0;
42-
int u;
43-
adc_value = analogRead(ADC_PIN);
44-
delay(1000);
45-
u = adc_value*3.3*1000/1023;
46-
Serial.printf("Current Reading on Pin(%d)=%d,Current Voltage=%d\n",ADC_PIN,adc_value,u);
47-
delay(1000);
29+
Serial.printf("PA0 Voltage is %d mv \n", analogReadMillivolts(PA0));
30+
Serial.printf("PA1 Voltage is %d mv \n", analogReadMillivolts(PA1));
31+
Serial.printf("Chip temp is %d C \n", analogReadTempSensor());
32+
Serial.printf("Vref is %d mv \n", analogReadVref());
33+
delay(500);
4834
}
49-
```
50-
51-
- 首先新建变量`adc_value`赋予初值0、新建变量`u`
52-
-`analogRead`函数来读取ADC引脚`PA_0`的原始值并赋给`adc_value`
53-
- 使用`delay(1000)`延时一秒
54-
- 计算实际AD的值
55-
- 然后使用`prinf`函数打印出获得的引脚`PA_0`的值`adc_value`和实际AD的值`u`
56-
- 使用`delay(1000)`延时一秒
57-
58-
::: tip
5935

60-
由于Air001的ADC为`10bit`,所以`ADC原始值`的范围为`0-1023`
61-
由此可以得到一个方程: `原始值 / 1023 = 实际 / 3.3`
62-
即实际AD的计算公式为(单位换算为mV):`实际AD = 原始值 * 3.3 * 1000 / 1023`
63-
64-
:::
36+
```
6537

6638
## 输出结果
6739

68-
将波特率调为115200,在串口监视器中可观察到当前串口输出和实际AD的值(mV)
69-
70-
![输入电压为3V时的串口输出](img/adc_res.png)
40+
将波特率调为 115200,在串口监视器中可观察到当前串口输出和引脚上的实际电压。

0 commit comments

Comments
 (0)