在线时间4854 小时
UID3309825
ST金币0
蝴蝶豆17
注册时间2016-9-4
论坛元老
- 最后登录
- 2020-12-9
|
a0a.1 32b0c
mbed学习之Digital IO (一)
mbed的IO操作非常灵活,常见的关于Digital IO操作整理如下表 ,其中蓝色字体是构造函数,绿色字体的是操作符重载,使用时只要创建对象,就可以调用对应的方法来操作,并且每种都提供了操作符重载,使用上更加灵活
DigitalIn | DigitalIn (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) | int is_connected () |
| operator int () | 操作符重载,效果等同于 read() | DigitalOut | DigitalOut (PinName pin) | 构造函数,创建连接到指定Pin的DigitalOut对象 | DigitalOut (PinName pin, int value) | 构造函数,同上,指定了初始值 | void write (int value) | 写值到Pin | int read () | 读Pin状态,返回0 or 1 | int is_connected () |
| DigitalOut & operator= (int value) | 操作俯重载,效果等同于 write() | operator int () | 操作符重载,效果等同于 read() | PortIn | PortIn (PortName port, int mask=0xFFFFFFFF) | mask用来标记需要操作哪些Pin | int read () |
| void mode (PinMode mode) |
| operator int () | 操作符重载,效果等同于 read() | PortOut | PortOut (PortName port, int mask=0xFFFFFFFF) | mask用来标记需要操作哪些Pin | void write (int value) |
| int read () |
| 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 程序已修改
|
|