资料介绍
描述
将您的 Arduino 板变成 16 位 IO 端口
标题听起来很有趣?或者没有?
你们都会想知道,Arduino UNO 或 NANO(或其他类似的 arduino 板)有 ATMega328 板载微控制器,这是一个 8 位设备。那么它如何产生16位输出或接受16位输入呢?
我们也都知道,arduino使用“digitalWrite()”函数给出数字输出,通过“ digitalRead () ”函数获取数字输入。但是使用这两个功能,它可以从任何一个引脚提供输出或获取输入——意味着一次它只能向单个引脚提供输出或从单个引脚获取输入。那么它如何同时从16个管脚输出或接受输入呢?
如果我们可以将 16 个 Arduino 板引脚组合(组合)在一起会怎么样?意味着,通过板载 8 位微控制器,arduino 可以提供 16 位输出和/或可以获得 16 位输入。
现在我觉得这听起来很有趣?
因此,在这里我介绍了 arduino 的 16 位 IO 端口(输入输出端口)库。使用这个库,可以将 16 位数据直接发送到配置为组合 16 位端口的任何 arduino 板引脚,或者可以从这些配置的引脚获得 16 位输入。该库将 arduino 的任意 16 个引脚组合在一起,作为 16 位 IO 端口。只需选择任意 16 个 arduino 引脚组合为 16 位端口,并将其数据方向配置为输入或输出。数据方向由输出字符“O”或输入字符“I”设置。
该库只有 5 个功能。有两个将创建端口对象的构造函数,一个将 16 位数字输出发送到端口引脚的函数,一个从端口引脚获取 16 位数字输入的函数和一个更改/设置端口 IO 方向的附加函数. 这里简要解释了所有 5 个函数,然后给出了一些示例和解释。
所以只需使用这个库来连接任何 16 位设备,如 ADC、DAC、MUX,或任何数字设备获得 16 位输入或提供 16 位输出
1. IO_Port_16bit(int pin1, intpin2, int pin3, int pin4, int pin5, int pin6, int pin7, int pin8, int pin9, intpin10, int pin11, int pin12, int pin13, int pin14, int pin15, int pin16,字符目录)
这是构造函数。它将创建此类的对象,因此它将通过组合不同的 arduino 引脚来创建一个或多个 16 位端口。必须指定 16 个不同的 arduino 引脚组合为端口以及数据方向作为输入或输出 - 意味着端口既可以作为输入也可以作为输出。此构造函数中的最后一个参数 dir 将端口定义为输入或输出。如果 dir='O' 表示端口作为输出,如果 dir='I',端口作为输入。同一个端口不能同时或交替作为输入和输出。如果未选择数据方向,它也会指示错误
2. IO_Port_16bit(int pin1, intpin2, int pin3, int pin4, int pin5, int pin6, int pin7, int pin8, int pin9, intpin10, int pin11, int pin12, int pin13, int pin14, int pin15, int pin16)
这是另一个构造函数。它还将创建此类的对象,因此它将通过组合不同的 arduino 引脚来创建一个或多个 16 位端口。必须指定 16 个不同的 arduino 引脚组合为端口。但它没有指定数据方向是输入还是输出。使用此构造函数创建端口对象后,必须使用set_IO_direction函数设置端口方向。所以这个构造函数允许程序员使用这个构造函数在运行时改变端口数据方向,同一个端口可以作为输入或输出交替工作(但不是同时)
3. set_IO_direction(字符目录)
该函数指定端口的输入/输出方向。它有一个字符参数,可以是“I”表示端口作为输入或“O”表示端口作为输出。如果未选择数据方向,则在arduino的串口监视器上显示错误
4. send_16bit_data(unsigned int byt)
此函数将 16 位数据发送到指定的引脚。只需将 int 数据(必须 < 65535)作为直接提供给 16 个不同引脚的参数。如果数据 >65535,它会在 arduino 的串口监视器上显示错误。
5. get_16bit_data(无效)
该函数从指定的引脚获取 16 位数据。它通过读取16个不同引脚的状态返回16位unsigned int数据
例1:取16位输入并显示在串口监视器上
#include
IO_Port_16bit my16bitport(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17);
诠释我;
长输入双字节;
无效设置()
{
// 将你的设置代码放在这里,运行一次:
my16bitport.set_IO_direction('I');
序列号.begin(9600);
}
无效循环()
{
input_double_byte =my16bitport.get_16bit_data();
Serial.print("输入数据:");
Serial.println(input_double_byte);
延迟(1000);
}
范例二:16个LED追光程序
#include
IO_Port_16bitmy16bitport(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17);
无效设置()
{
// 将端口方向声明为指定“O”的输出
my16bitport.set_IO_direction('O');
}
无效循环()
{
无符号整数我;
对于(i=1;i<65535;i*=2)
{
my16bitport.send_16bit_data(i); //发送数据为 2, 4, 8, 16
延迟(200);// 32,..,..,...65534
}
}
- 将Arduino变成一个7键键盘
- 用于Arduino的8位IO端口库
- 将您的中央供暖连接到Arduino
- Arduino Uno Rev.3开发板意大利原版电路图 0次下载
- STM32端口IO方向设置问题
- IAR-C中实现IO端口直接位定义操作的一个示例资料下载
- 16位CRC验证码生成VI工具下载 54次下载
- Arduino板是什么如何使用IDE软件创建和上传Arduino程序到Arduino板
- Arduino进行端口通信的实例程序免费下载
- 用于16位MCU的MCP3901 ADC评估板的详细中文资料概述
- 用于16位MCU的MCP3914 ADC评估板的详细中文资料概述
- 用于16位MCU的MCP3913 ADC评估板详细中文资料概述
- 用于16位MCU的MCP3912 ADC评估板的详细中文资料概述
- 用于16位MCU的MCP3919 ADC评估板的详细中文资料概述
- 用于16位MCU的MCP3910 ADC评估板的使用中文资料概述
- 5分钟内将Raspberry Pi Pico变成简单的示波器+波形发生器 1518次阅读
- 安信可BW16模组如何搭建Arduino开发环境? 541次阅读
- 如何使用Python和PinPong库控制Arduino 718次阅读
- 这么漂亮的Arduino开发板你见过吗? 1605次阅读
- 如何利用粒子光子把你的雨伞变成气象站 1391次阅读
- 如何设置Arduino IoT将消息发送到云板显示器 2121次阅读
- 微雪电子MCP23017 IO扩展模块16IO口 I2C接口简介 1.3w次阅读
- dfrobotIIC转GPIO 数字端口扩展板简介 946次阅读
- 微雪电子Arduino IO扩展板简介 3439次阅读
- dfrobotMEGA传感器扩展板简介 1443次阅读
- ATMage16的16位定时器的PWM应用 2863次阅读
- Curiosity PIC32MZEF学习教程:最简单的IO端口测试 1619次阅读
- STM32单片机GPIO口的学习 3835次阅读
- arduino开发板有什么用 2w次阅读
- MAXQ614 16位微控制器芯片详解 1886次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多