anywill 发表于 2016-10-12 11:15:12

转发:ARM®mbed OS入门开发(三B)GPIO 输入,数字针脚读取

mbed学习之Digital IO (一)   
mbed的IO操作非常灵活,常见的关于Digital IO操作整理如下表 ,其中蓝色字体是构造函数,绿色字体的是操作符重载,使用时只要创建对象,就可以调用对应的方法来操作,并且每种都提供了操作符重载,使用上更加灵活      

DigitalInDigitalIn (PinName pin)构造函数,创建连接到指定Pin的DigitalIn对象
DigitalIn (PinName pin, PinMode mode)构造函数,同上,指定了PinMode
int read ()读Pin状态,返回0 or 1
void mode (PinMode pull)设定PinMode(PullUp, PullDown, PullNone, OpenDrain)
intis_connected ()

operator int ()操作符重载,效果等同于 read()
DigitalOutDigitalOut (PinName pin)构造函数,创建连接到指定Pin的DigitalOut对象
DigitalOut (PinName pin, int value)构造函数,同上,指定了初始值
voidwrite (int value)写值到Pin
intread ()读Pin状态,返回0 or 1
intis_connected ()

DigitalOut &operator= (int value)操作俯重载,效果等同于 write()
operator int ()操作符重载,效果等同于 read()
PortInPortIn (PortName port, int mask=0xFFFFFFFF)mask用来标记需要操作哪些Pin
int read ()

voidmode (PinMode mode)

operator int ()操作符重载,效果等同于 read()
PortOutPortOut (PortName port, int mask=0xFFFFFFFF)mask用来标记需要操作哪些Pin
voidwrite (int value)

intread ()

PortOut &operator= (int value)操作俯重载,效果等同于 write()
operator int ()操作符重载,效果等同于 read()





/*nucleo 070r+mbed*/


DigitalOut led2(D13);   //rename D13 to led2,LED2 = PA_5
DigitalIn b1(USER_BUTTON,PullUp);   //USER_BUTTON = PC_13


int main()
{
   
   led2=0;

    while(1)
    {
      //led2=!b1;按下亮灯
      led2=b1.read(); //读取键值赋值给led2,按下灭灯
      
    }
   
}


       从上面的代码中我们可以发现,创建的对象可以直接进行读值和赋值,非常方便,
        除了上面的类型,和提供了 DigitalInOut 类,相当于DigitalIn和DigitalOut的合体,使用中可以根据需要随时切换模式







原文网址:http://www.cnblogs.com/cat-li/p/5061371.html   程序已修改
   




zhangdaijin 发表于 2016-10-12 14:58:54

谢谢楼主分享

asssdz-382474 发表于 2016-10-12 21:58:13

:):):):):):)

xyx365 发表于 2016-10-16 19:07:51

不错的教程

ynwscfsfi 发表于 2016-10-20 12:22:02

感谢分享
页: [1]
查看完整版本: 转发:ARM®mbed OS入门开发(三B)GPIO 输入,数字针脚读取