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 ...
随机推荐
- Android 双卡双待识别
简介 Android双卡双待已经越来越普及了,解决双卡双待管理是广大手机开发人员必须得面对的问题,为实现Android平台的双卡双待操作,笔者研究了Android 应用层操作双卡双待的机制. 机制 获 ...
- c++聪聪看书(低数据版代码)
聪聪是一个善良可爱.睿智聪慧的好孩子.聪聪喜欢看书,这一天她在看一本书时看到了这样一个问题:给你一个正整数n,你要将它分成若干个自然数Ai的和的形式,并且使得这若干个自然数Ai的乘积尽量大,并输出最大 ...
- Mysql创建用户并授权
运行命令行 mysql -uroot -p 登录mysql use mysql; 创建用户:create user 'test123'@'localhost' identified by '12345 ...
- select 选择的制作
我说的select选择是指 手机端的话,一般考虑元素 + 伪类制作 .checkbox{ border:1px solid #987;width:16px;height:16px; } .checkb ...
- “maven编码gbk的不可映射字符”解决办法
一.问题描述 Eclipse中使用Maven编译项目源代码时,如下的错误 java源代码在Eclipse中显示是没有任何错误的,可是执行"maven install"命令编译项目时 ...
- linux-shell笔记
1.当从windows拖到shell中无法传递文件时,多半可能没有权限,可用sudo rz来进行手动选择传递 2.连接虚拟机时,ssh 用户名@ip地址,然后会提示输入该虚拟机密码,输入密码即可连接 ...
- webdriver零碎知识点
#零碎知识点,用于记录平时遇到的比较杂的知识点 driver.current_url 获取当前url phantomjs 实现无浏览器界面自动化测试(driver = webdriver.Phanto ...
- ORM系列之二:EF(4) 约定、注释、Fluent API
目录 1.前言 2.约定 2.1 主键约定 2.2 关系约定 2.3 复杂类型约定 3.数据注释 3.1 主键 3.2 必需 3.3 MaxLength和MinLength 3.4 NotMapped ...
- 【原创】Android selector选择器无效或无法正常显示的一点研究
想将LinearLayout作为一个按钮,加上一个动态背景,按下的时候,背景变色,这个理所当然应该使用selector背景选择器来做: <LinearLayout android:id=&quo ...
- LeetCode Island Perimeter
原题链接在这里:https://leetcode.com/problems/island-perimeter/ 题目: You are given a map in form of a two-dim ...