查看: 282|回复: 1

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

[复制链接]

49

主题

3

好友

3736

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    奋斗
    2017-6-22 13:15
  • 签到天数: 357 天

    连续签到: 3 天

    [LV.8]以坛为家I

    发表于 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 人评分 收起 理由
    loveeeboard + 20

    总评分:  + 20   查看全部评分

    喜欢在构思妙想,电子产品DIY是工作,也是一种爱好。
    回复

    使用道具 举报

    24

    主题

    0

    好友

    4918

    积分

    状元

    Rank: 6Rank: 6

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

    连续签到: 106 天

    [LV.10]以坛为家III

    爱板会员勋章 活跃会员勋章 发帖机器勋章 在线达人勋章

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

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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

    手机版|爱板网 |网站地图  

    GMT+8, 2017-9-20 22:27 , Processed in 0.334077 second(s), 12 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部