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() |
#include "mbed.h" DigitalOut myled(LED1);
PortOut myleds(PortB,0x700); // PB8,PB9,PB10
DigitalIn mybutton(USER_BUTTON);
PortIn button(PortA,0x100); // PA8
Serial pc(USBTX,USBRX); int main() {
unsigned long i;
while() {
myled.write();
i = button;
if (mybutton == )
{
myled = !myled; //利用操作符重载,这里不需要myled.read()和myled.write()
} if (button != 0x100)
{
myleds = ;
} else {
myleds = 0x600;
}
pc.printf("button = %x \r\n",i);
}
}
mbed学习之Digital IO (一)的更多相关文章
- mbed学习之 PWMOUT
PWM通过一个周期内不同占空比来表征模拟量,应用非常广泛.mbed中提供了一个PWM类,来对PWM进行操作,可以分别设置占空比,周期,以及脉冲宽度. 因为这里是使用单片机内部TIM来生成PWM波的,所 ...
- C++系统学习之八:IO库
新的C++标准中有三分之二的内容都是描述标准库.接下来重点学习其中几种核心库设施,这些是应该熟练掌握的. 标准库的核心是很多容器类(顺序容器和关联容器等)和一簇泛型算法(该类算法通常在顺序容器一定范围 ...
- Arduino学习笔记⑤ 模拟IO实验
1.前言 还记得前几个我们都是在讲解数字IO,而其实我们生活中大多数信号都是模拟信号,如声音以及温度变化.在Arduino中,常用0~5v的电压来表示模拟信号. 1.1 模拟输入功能 ...
- java学习笔记之IO编程—内存流、管道流、随机流
1.内存操作流 之前学习的IO操作输入和输出都是从文件中来的,当然,也可以将输入和输出的位置设置在内存上,这就需要用到内存操作流,java提供两类内存操作流 字节内存操作流:ByteArrayOutp ...
- Netty学习二:Java IO与序列化
1 Java IO 1.1 Java IO 1.1.1 IO IO,即输入(Input)输出(Output)的简写,是描述计算机软硬件对二进制数据的传输.读写等操作的统称. 按照软硬件可分为: 磁盘I ...
- Java编程思想学习笔记_5(IO流)
一.用DataInputStream读取字符 可以使用available方法查看还有多少可供存取的字符.示例如下: public class Test1 { public static void ma ...
- NIO学习:异步IO实例
工作模式: 客户端代码: package demos.nio.socketChannel; import java.io.ByteArrayOutputStream; import java.io.I ...
- Scala学习笔记--文件IO
补充: http://blog.csdn.net/lyrebing/article/details/20369445 http://developer.51cto.com/art/200907/134 ...
- linux学习笔记之IO
一.基础知识. 1:普通IO类型. 1,非阻塞IO:发出open/read/write等IO操作,并使这些操作不会永远阻塞.当不能完成时,会立即出错返回. 1)非阻塞的两种标志方式:指定标志:O_NO ...
随机推荐
- html 之input标签height设置问题
今天针对这个问题纠结了很久 <input type="button" value="xx" style="height:99px;" ...
- Unity: Passing Constructor Parameters to Resolve
In this tutorial we will go through of couple different ways of using custom constructor parameters ...
- CSS实现元素水平/垂直居中的方法
首先,我们来了解水平居中,它有很多种方法,我们暂时先来了解其中的几种: 1. 在实现方案中,我们最熟悉的莫过于给元素定义一个宽度,然后使用margin: 1 2 3 4 body{ wi ...
- Android-adb指令
adb概念: adb的全称为Android Debug Bridge(调试桥):通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序.当我们运行Eclipse时ADB进程 ...
- 使用holder进行内存管理
在C++中,我们使用new 和delete进行自己的内存管理. void test_func() { someType *ptr = new someType; //使用ptr ptr->fun ...
- 配合 APP 调用 JS 的一次尝试
项目初衷 最初的场景是用户在对购物车的操作中,由于用户对购物车的每次操作(包括选择,调整数量)都需要计算商品的促销和分组的情况,而这段逻辑的计算都需要调用后端的接口,那么瓶颈来了: 请求时间长--一次 ...
- SSH整合(Struts2+hibernate+spring)
1.创建表 create table t_user( id int primary key auto_increment, username varchar(50), password varchar ...
- reset 单个文件 回退
git将单个文件恢复到历史版本的正确方法如下: git reset commit_id 文件路径 git checkout -- 文件路径
- Linux 升级修改libc gcc 文件名称,导致执行命令失效问题解决
升级linux文件时,若不小心把文件名给重命名了,结果导致执行所有命令都不识别. 比如我们不小心执行了 mv /lib64/libc.so.6 /lib64/libc.so.6.bak 结果导致所有系 ...
- JSON语法五大要素图文介绍
原文:http://www.jb51.net/article/32398.htm JSON语法是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成,下面就进行学习研究,希望本文能教会 ...