首页 / 行业
怎样用MCP23008扩展Netduino的IO端口
2019-08-02 09:27:00
MCP23008 芯片是一个8位(8端口)数字I/O扩展器芯片,通过I2C进行通信。它提供八(8)个IP端口,可用于向Netduino添加额外的数字输入和输出端口。它还可以与多达七(7)个额外的MCP23008芯片组合,提供多达64个额外端口。
要连接MCP23008芯片,请参考下面的引脚数据表。
MCP23008的引脚映射
MCP23008是硬件领域的通用集成电路,是硬件的典型接口芯片,如I2C LCD。
Netduino.Foundation 是一个使用Netduino上的.NET MicroFramework快速轻松地构建连接内容的平台。由Wilderness Labs创建,它完全开源并由Netduino社区维护。
如果您是Netduino开发的新手,我建议您进入Netduino项目入门以正确设置你的开发环境。
第1步 - 组装电路
对于这个项目,按照Fritzing图中的说明连接你的面包板和Netduino:
MCP23008的电路图
注 - 所有三个地址引脚(芯片左侧的三条绿色跳线)都拉高。这指定了MCP23008的I2C地址 - 在这种情况下,地址为39。
步骤2 - 创建Netduino项目
在Visual Studio 2015 for Windows中创建Netduino项目最新的Visual Studio for Mac;将项目命名为 Blinky_MCP23008 。
步骤3 - 添加Netduino.Foundation NuGet包
Windows
右键单击 Blinky_MCP23008 项目,然后单击管理NuGet包。在“浏览”选项卡中,搜索Netduino.Foundation;它应该是第一个搜索结果。单击安装按钮。
添加Netduino.Foundation NuGet包
现在搜索 Netduino.Foundation.MCP23008 并将其添加到您的项目中。
macOS
在解决方案资源管理器中按住Alt键并单击 Blinky_MCP23008 项目,然后单击添加=》添加NuGet打包打开NuGet包窗口。搜索 Netduino.Foundation 包,然后单击添加包将其添加到项目中。
添加Netduino.Foundation NuGet包
现在搜索 Netduino.Foundation.MCP23008 并将其添加到您的项目中。
步骤4 - 编写MCP23008项目的代码
添加App类
对于这个项目,我们实现了一个管理所有外围设备的通用 App 软件模式主要逻辑。
在项目中添加一个新的 App 类,并粘贴以下代码:
using Microsoft.SPOT;
using Netduino.Foundation.ICs.IOExpanders.MCP23008;
using System.Threading;
namespace Blinky_MCP23008
{
public class App
{
static MCP23008 _mcp = null;
public App()
{
InitializePeripherals();
}
protected void InitializePeripherals()
{
_mcp = new MCP23008(39);
}
public void Run()
{
// create an array of ports
DigitalOutputPort[] ports = new DigitalOutputPort[8];
for (byte i = 0; i 《= 7; i++)
{
ports[i] = _mcp.CreateOutputPort(i, false);
}
while (true)
{
// count from 0 to 7 (8 leds)
for (int i = 0; i 《= 7; i++)
{
// turn on the LED that matches the count
for (byte j = 0; j 《= 7; j++)
{
ports[j].State = (i == j);
}
Debug.Print(“i: ” + i.ToString());
Thread.Sleep(250);
}
}
}
}
}
程序类
最后,创建一个新的 App 类对象并调用运行方法。您的代码应如下所示:
using System.Threading;
namespace Blinky_MCP23008
{
public class Program
{
public static void Main()
{
App app = new App();
app.Run();
Thread.Sleep(Timeout.Infinite);
}
}
}
步骤5 - 运行项目
单击Visual Studio中的运行按钮以查看LED指示灯亮起!它们将按顺序打开和关闭,由MCP23008上的GP端口控制。它应该看起来像以下gif:
MCP23008示例项目正在运行
最新内容
手机 |
相关内容
深度详解一体成型贴片电感在电路中
深度详解一体成型贴片电感在电路中应用的特点,详解,结构,噪声,芯片,稳定性,精度,体成型贴片电感(Molded Chip Inductor)是一种常见的什么是NFC控制器,NFC控制器的组成、
什么是NFC控制器,NFC控制器的组成、特点、原理、分类、常见故障及预防措施,控制器,分类,模式,移动支付,数据,信号,NFC(Near Field Com重庆东微电子推出高性能抗射频干扰
重庆东微电子推出高性能抗射频干扰MEMS硅麦放大器芯片,芯片,推出,算法,抑制,音频,信号,重庆东微电子有限公司最近推出了一款高性能写flash芯片时为什么需要先擦除?
写flash芯片时为什么需要先擦除?,擦除,芯片,充电,初始状态,存储单元,数据,Flash芯片是一种非易失性存储器技术,用于存储数据并实现固华为公开半导体芯片专利:可提高三维
华为公开半导体芯片专利:可提高三维存储器的存储密度,专利,存储密度,存储器,芯片,存储单元,调整,华为是全球领先的信息与通信技术解新一代8通道脑电采集芯片研制成功,
新一代8通道脑电采集芯片研制成功,铠侠与西部数据已中止合并谈判,合并,芯片,脑电,新一代,通道,产品,近日,一项重要的科技突破在全球范加特兰毫米波雷达SoC芯片赋能室内
加特兰毫米波雷达SoC芯片赋能室内安防新应用,毫米波雷达,芯片,用于,稳定性,目标,感知,室内安防是一个重要的领域,随着技术的进步和人电容式触摸按键屏中应用的高性能触
电容式触摸按键屏中应用的高性能触摸芯片,芯片,位置,触摸屏,能力,响应,用户,电容式触摸按键屏(Capacitive Touch Key Screen)是一种常