TA的每日心情 | 怒 2023-7-25 22:49 |
---|
签到天数: 385 天 连续签到: 1 天 [LV.9]以坛为家II
|
本帖最后由 党国特派员 于 2016-12-27 00:11 编辑
第一次接触Arduino,还是从最简单的学起,Digital I/O.
共用到3个函数:
pinMode()
说明
配置GPIO引脚的模式(复用功能、输入输出方向、是否使能推拉功能)。
语法
pinMode(pin,mode);
参数
pin : 需要设置模式的数字引脚编号。(从0~29)(以数字开头的pin是数字引脚,A开头的pin是模拟引脚,模拟引脚不可以使用此函数进行设置)
Mode:
OUTPUT ------输出模式
INPUT ------输入模式
INPUT_PULLUP ------上拉输入模式
INPUT_PULLDOWN ------下拉输入模式
返回值 无
注意事项
1.Fireduino的I/O口并不支持任意配置上/下拉输入,每一个I/O的上拉或者下拉是固定的,每一个I/O的上/下拉情况如下表所示。 2.Fireduino的Digital I/O都支持PWM。
3.FireDuino的Analog I/O不支持作为Digital I/O使用。 PIN | 推拉方向 | PIN | 推拉方向 | PIN | 推拉方向 | PIN | 推拉方向 | 0 | 上拉 | 8 | 下拉 | 14 | 上拉 | 23 | 上拉 | 1 | 上拉 | 9 | 上拉 | 15 | 上拉 | 24 | 上拉 | 2 | 下拉 | 10 | 上拉 | 16 | 上拉 | 25 | 上拉 | 3 | 上拉 | 11 | 上拉 | 17 | 上拉 | 26 | 上拉 | 4 | 下拉 | 12 | 上拉 | 18 | 上拉 | 27 | 下拉 | 5 | 下拉 | 13 | 上拉 | 19 | 上拉 |
|
| 6 | 下拉 | 28 | 上拉 | 20 | 上拉 |
|
| 7 | 下拉 | 29 | 上拉 | 21 | 上拉 |
|
|
|
|
|
| 22 | 上拉 |
|
| digitalWrite()
说明
向一个数字引脚写入高/低电平。(需要先设置该引脚为输出模式:pinMode(pin,OUTPUT);,模拟IO口不可以使用此函数)
语法
digitalWrite(pin,value);
参数
pin:需要配置的引脚编号。
value:
HIGH 设置输出为高电平,在Fireduino里面,由于是3.3V供电的,所以高电平为3.3V。
LOW 设置输出为低电平,级0V。
返回值 无
digitalRead()
说明
读取一个数字引脚的电平状态。
语法
value = digitalRead(pin);
参数
pin:需要读取的引脚编号。
返回值
HIGH: 高电平
LOW: 低电平
今天学习的示例:
程序先设定pin13为ledPin,设置为输出模式,pin7为inPin,设置为输入模式,然后不断循环读取inPin的电平,将该电平输出到ledPin。 将inPin与轻触按键相连,则按键按下时LED亮起,放开时LED熄灭。
原理图如下:
代码如下:- int ledPin = 13; //绿色LED连接pin 13
- int inPin = 7; //pin 7 做为按钮
- int val = 0; //存放pin 7状态变量
- void setup() {
- // put your setup code here, to run once:
- pinMode(ledPin,OUTPUT); //设置pin 13做为数字输出
- pinMode(inPin,INPUT); //设置pin 7做为数字输入
- }
- void loop() {
- // put your main code here, to run repeatedly:
- val = digitalRead(inPin); //读取pin7的输入值
- digitalWrite(ledPin,val); //设置LED的电平
- }
复制代码 实现,用跳线把pin连接至3V电源 LED灯熄灭,断开LED亮。
|
评分
-
查看全部评分
|