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 ...
随机推荐
- java.lang.NoClassDefFoundError: javax/el/ELResolver 问题解决
HTTP Status 500 - java.lang.NoClassDefFoundError: javax/el/ELResolver type Exception report message ...
- Servlet生命周期
初始化:正常情况下,一个Servlet程序在第一次运行时才进行初始化. 刷新只会刷新服务,并没有初始化 销毁:1,容器关闭 2,一个servlet长期不适用 3,开发过程中的reload操作 对 ...
- 【MongoDB:第二天】基本操作
接上一篇博客: http://www.cnblogs.com/xiaoit/p/3867573.html 1:插入新的数据 db.person.insert({"uid" : 12 ...
- IOS ReactiveCocoa
一 前提: 在iOS开发过程中,当某些事件响应时,需处理的某些业务逻辑 Eg. 按钮点击:action ScrollView滚动:delegate 属性值改变:KVO ReactiveCocoa为事件 ...
- virtualenv
问题:python开发过程中,需要安装各类依赖 逐个安装依赖,操作复杂,并可能会出现版本不一致的问题 解决:virtualenv可以有效解决上述问题 使用方法: 安装: pip install vir ...
- mysql查询正在执行的进程
查看mysql进程有两种方法 1.进入mysql/bin目录下输入mysqladmin processlist; 2.启动mysql,输入show processlist; 如果有SUPER权限,则可 ...
- JS脚本收藏(一些实用的函数)
一.共享onload事件 这个函数的名字是addLoadEvent,它是由Simon Willison 编写的.它只有一个参数:打算在页面加载完毕时执行的函数的名字. 下面是addLoadEvent函 ...
- Vue 2.0 + Vue Router + Vuex
用 Vue.js 2.x 与相配套的 Vue Router.Vuex 搭建了一个最基本的后台管理系统的骨架. 当然先要安装 node.js(包括了 npm).vue-cli 项目结构如图所示: ass ...
- 视图UIView的大小和位置属性详解
UIView类中定义了三个属性,分别是frame.bounds与center属性: IKit中的坐标系X轴正方向为水平向右,Y轴正方向为竖直向下. frame属性指的是视图在其父视图坐标系中的位置与尺 ...
- 好用的Markdown编辑器一览
Markdown 是一种简单的.轻量级的标记语法.用户可以使用诸如 * # 等简单的标记符号以最小的输入代价生成极富表现力的文档. Markdown具有很多优点: 写作中添加简单符号即完成排版,所见即 ...