Skip to content

Commit 716d4a4

Browse files
committed
add: 添加GPIO的API文档
1 parent eb7722e commit 716d4a4

1 file changed

Lines changed: 91 additions & 0 deletions

File tree

docs/library/gpio.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
title: GPIO
3+
---
4+
5+
## About
6+
7+
GPIO 是微控制器中最常用和通用的外设之一。 GPIO 通常用于写入和读取引脚状态。
8+
9+
GPIO代表通用输入输出,负责控制或读取数字世界中特定引脚的状态。例如,该外设广泛用于创建 LED 闪烁或读取简单的按钮。
10+
11+
::: note
12+
有些 GPIO 有特殊限制,并非所有 GPIO 都可以通过开发板访问。欲了解更多信息,请参阅相应的板引脚布局信息。
13+
:::
14+
15+
## GPIO 模式
16+
17+
GPIO 配置有两种不同的模式:
18+
19+
- Input Mode (输入模式)
20+
21+
在此模式下,GPIO 将从特定设备接收数字状态。该设备可以是按钮或开关。
22+
23+
- Output Mode (输出模式)
24+
25+
对于输出模式,GPIO 会将 GPIO 数字状态更改为特定设备。例如,您可以驱动 LED。
26+
27+
## GPIO API
28+
29+
以下是 GPIO 外设的常用函数。
30+
31+
### pinMode
32+
33+
`pinMode` 函数用于定义特定引脚的GPIO操作模式。
34+
35+
```cpp
36+
void pinMode(uint32_t ulPin, uint32_t ulMode)
37+
```
38+
39+
- `ulPin`:要配置的引脚号。
40+
- `ulMode`:要设置的模式。可以是以下值之一:
41+
42+
- `INPUT`:输入模式。
43+
- `OUTPUT`:输出模式。
44+
- `INPUT_PULLUP`:输入模式,但是在引脚上启用内部上拉电阻。
45+
- `INPUT_PULLDOWN`:输入模式,但是在引脚上启用内部下拉电阻。
46+
- `INPUT_ANALOG`:模拟输入模式。
47+
- `OUTPUT_OPENDRAIN`:输出模式,但是在引脚上启用开漏输出。
48+
49+
### 内部上拉和下拉
50+
51+
AirMCU 系列通过内部大约 40k 电阻支持内部上拉和下拉,可在将 GPIO 模式配置为 INPUT 模式时启用。如果未定义上拉或下拉模式,引脚将保持在高阻抗模式。
52+
53+
### digitalWrite
54+
55+
函数 `digitalWrite` 将所选 GPIO 的状态设置为 HIGH 或 LOW 。仅当 `pinMode` 配置为 OUTPUT 时才使用此函数。
56+
57+
```cpp
58+
void digitalWrite(uint32_t ulPin, uint32_t ulVal)
59+
```
60+
61+
- `ulPin`:要配置的引脚号。
62+
- `ulVal`:要设置的值。可以是以下值之一:
63+
64+
- `HIGH`:将引脚状态设置为高电平。
65+
- `LOW`:将引脚状态设置为低电平。
66+
67+
### digitalRead
68+
69+
要读取配置为 `INPUT` 的给定引脚的状态,请使用函数 `digitalRead`
70+
71+
```cpp
72+
int digitalRead(uint32_t ulPin)
73+
```
74+
75+
- `ulPin`:要配置的引脚号。
76+
- 返回值:引脚状态。可以是以下值之一:
77+
78+
- `HIGH`:引脚状态为高电平。
79+
- `LOW`:引脚状态为低电平。
80+
81+
## Interrupts (中断)
82+
83+
AirMCU 上的 GPIO 外设支持中断。
84+
85+
### attachInterrupt
86+
87+
函数 `attachInterrupt` 用于将中断附加到定义的引脚。
88+
89+
```cpp
90+
void attachInterrupt(uint32_t pin, callback_function_t callback, uint32_t mode)
91+
```

0 commit comments

Comments
 (0)