Mbed OS 文档翻译 之 参考(API(驱动(BusInOut)))

BusInOut

                                                                      

                                                                            BusInOut 类层次结构

使用 BusInOut 接口作为双向总线,支持最多 16 个 DigitalInOut 引脚,您可以读取和写入一个值。

您可以将任何编号的 Arm Mbed 引脚用作 DigitalInOut。

提示:

构造函数中引脚的顺序是字节顺序中引脚的相反顺序。如果你有 BusInOut(a,b,c,d,e,f,g,h),那么字节中的位的顺序是 hgfedcba,其中 a 位为 0,b 为位 1,c 为位 2,依此类推。

BusInOut 类参考

mbed::BusInOut 类参考

公共成员函数
 BusInOut (PinName p0, PinName p1=NC, PinName p2=NC, PinName p3=NC, PinName p4=NC, PinName p5=NC, PinName p6=NC, PinName p7=NC, PinName p8=NC, PinName p9=NC, PinName p10=NC, PinName p11=NC, PinName p12=NC, PinName p13=NC, PinName p14=NC, PinName p15=NC)
 BusInOut (PinName pins[16])
void write (int value)
int read ()
void output ()
void input ()
void mode (PinMode pull)
int mask ()
BusInOutoperator= (int v)
BusInOutoperator= (BusInOut &rhs)
DigitalInOutoperator[] (int index)
 operator int ()
受保护的成员函数
virtual void lock ()
virtual void unlock ()
受保护的属性
DigitalInOut_pin [16]
int _nc_mask
PlatformMutex _mutex

BusInOut Hello World!

main.cpp                                                                                                                                                 导入到 Mbed IDE

/* mbed Example Program
 * Copyright (c) 2006-2014 ARM Limited
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "mbed.h"
 
BusInOut pins(D0, D1, D2);
 
int main() {
    while(1) {
        pins.output();
        pins = 0x3;
        wait(1);
        pins.input();
        wait(1);
        if(pins == 0x6) {
            printf("Hello!\n");
        }
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值