怎样用MCP23008扩展Netduino的IO端口

来源: 工程师吴畏 2019-08-02 09:27:00

要连接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示例项目正在运行

0
收藏
0