查看: 1936|回复: 1

【赚周年币】技术帖——Fireduino学习1、Digital I/O

[复制链接]
  • TA的每日心情

    2023-7-25 22:49
  • 签到天数: 385 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2016-12-27 00:05:31 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 党国特派员 于 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熄灭。
    原理图如下:
    QQ图片20161226235452.png

    代码如下:
    1. int ledPin = 13;  //绿色LED连接pin 13
    2. int inPin = 7;    //pin 7 做为按钮
    3. int val = 0;      //存放pin 7状态变量

    4. void setup() {
    5.   // put your setup code here, to run once:
    6.   pinMode(ledPin,OUTPUT); //设置pin 13做为数字输出
    7.   pinMode(inPin,INPUT);   //设置pin 7做为数字输入
    8. }

    9. void loop() {
    10.   // put your main code here, to run repeatedly:
    11.   val = digitalRead(inPin); //读取pin7的输入值
    12.   digitalWrite(ledPin,val); //设置LED的电平
    13. }
    复制代码
    实现,用跳线把pin连接至3V电源 LED灯熄灭,断开LED亮。



    评分

    参与人数 1 +20 收起 理由
    loveeeboard + 20

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 3745 天

    连续签到: 71 天

    [LV.Master]伴坛终老

    发表于 2016-12-27 23:31:51 | 显示全部楼层
    基础实验,加油
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 07:06 , Processed in 0.143419 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.