0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用MCP23008扩展Netduino的IO端口

454398 来源:工程师吴畏 2019-08-02 09:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MCP23008 芯片是一个8位(8端口)数字I/O扩展器芯片,通过I2C进行通信。它提供八(8)个IP端口,可用于向Netduino添加额外的数字输入和输出端口。它还可以与多达七(7)个额外的MCP23008芯片组合,提供多达64个额外端口。

要连接MCP23008芯片,请参考下面的引脚数据表。

怎样用MCP23008扩展Netduino的IO端口

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IO端口
    +关注

    关注

    0

    文章

    31

    浏览量

    11143
  • Netduino
    +关注

    关注

    0

    文章

    19

    浏览量

    3553
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【新品】PLC 点位不够用?这款 Profinet 分布式 IO 主机,最多扩展 16 个模块

    PLC点位不够用?远距离IO布线成本高?模拟量信号干扰大、精度差?M31-U-PN系列Profinet分布式IO主机——亿佰特专为西门子PLC打造的灵活IO扩展方案。支持标准Profi
    的头像 发表于 04-16 19:34 198次阅读
    【新品】PLC 点位不够用?这款 Profinet 分布式 <b class='flag-5'>IO</b> 主机,最多<b class='flag-5'>扩展</b> 16 个模块

    MAX7310:2线接口8位I/O端口扩展器的详细解析

    MAX7310:2线接口8位I/O端口扩展器的详细解析 在电子设备设计中,I/O端口扩展器是一种常见且重要的组件,它可以帮助系统增加可用的I/O端口
    的头像 发表于 02-04 15:20 287次阅读

    MAX6957:2.5V至5.5V,20端口和28端口LED显示驱动器及I/O扩展器的深入解析

    MAX6957:2.5V至5.5V,20端口和28端口LED显示驱动器及I/O扩展器的深入解析 在电子设计中,显示驱动和I/O扩展是常见的需求。今天,我将为大家详细解析MAX6957这
    的头像 发表于 02-03 15:15 739次阅读

    MAX6947:10端口恒流LED驱动与I/O扩展器的深度解析

    MAX6946/MAX6947:10端口恒流LED驱动与I/O扩展器的深度解析 在电子设计领域,LED驱动和I/O扩展器是常见的组件,它们的性能和功能对于系统的整体表现至关重要。MAX6946
    的头像 发表于 02-02 15:50 317次阅读

    MCP2502X/5X CAN I/O 扩展器:功能特性与应用指南

    MCP2502X/5X CAN I/O 扩展器:功能特性与应用指南 在如今的电子系统设计中,CAN(Controller Area Network)总线凭借其高可靠性、实时性和抗干扰能力,在汽车
    的头像 发表于 01-19 15:45 356次阅读

    MCP2502X/5X:CAN I/O 扩展器的详细解析

    MCP2502X/5X:CAN I/O 扩展器的详细解析 在嵌入式系统的设计中,CAN(Controller Area Network)总线因其高可靠性、实时性和广泛的应用场景,成为了众多工程师
    的头像 发表于 01-18 17:20 1535次阅读

    IO控制模块修改波特率操作方法#IO扩展模块 #分布式IO模块 #远程IO模块 #硕博电子

    IO模块
    长沙硕博电子科技股份有限公司
    发布于 :2026年01月08日 09:46:47

    MCP2502X/5X CAN I/O 扩展器:功能、应用与设计要点

    MCP2502X/5X CAN I/O 扩展器:功能、应用与设计要点 在当今的电子设计领域,CAN(Controller Area Network)总线因其高可靠性、实时性和抗干扰能力,被广泛应用
    的头像 发表于 12-28 17:25 1245次阅读

    揭秘MCP2502X/5X CAN I/O扩展器:特性、功能与应用全解析

    揭秘MCP2502X/5X CAN I/O扩展器:特性、功能与应用全解析 在电子工程领域,CAN(Controller Area Network)总线作为一种可靠的通信协议,广泛应用于汽车、工业
    的头像 发表于 12-28 15:40 731次阅读

    Infineon SEMPER NOR Flash与HYPERRAM™ 2.0 Gen2 Flash+RAM MCP产品解析

    启动代码,RAM进行暂存扩展内存。英飞凌(Infineon)推出的Flash+RAM多芯片封装(MCP)Gen 2产品,将SEMPER™ NOR Flash和HYPERRAM™ 2.0集成在一个封装中
    的头像 发表于 12-20 16:20 1353次阅读

    HTR3355 I2C和SMBus IO扩展器产品详解

          在现代电子系统设计中,IO端口资源不足是常见的设计瓶颈,而一款性能稳定、适配性强的IO扩展器能够有效突破这一限制。HTR3355作为一款集成I2C和SMBus双接口的
    的头像 发表于 12-18 16:40 749次阅读
    HTR3355 I2C和SMBus <b class='flag-5'>IO</b><b class='flag-5'>扩展</b>器产品详解

    MCP2502X/5X CAN I/O 扩展器:功能、特性与应用详解

    MCP2502X/5X CAN I/O 扩展器:功能、特性与应用详解 在当今的电子系统设计中,CAN(Controller Area Network)总线凭借其高可靠性、实时性和抗干扰能力,在汽车
    的头像 发表于 12-18 16:30 486次阅读

    MCP22350 USB Type-C™ PD 3.1端口控制器技术解析

    Microchip Technology MCP22350 USB Type-C™供电 (PD) 3.1端口控制器设计用作外部Microchip MCU/SoC的配套PD控制器。这些控制器符合USB
    的头像 发表于 09-30 15:26 1268次阅读
    <b class='flag-5'>MCP</b>22350 USB Type-C™ PD 3.1<b class='flag-5'>端口</b>控制器技术解析

    【内测活动同步开启】这么小?这么强?新一代大模型MCP开发板来啦!

    ,将碰撞出怎样的智能火花?关注并私信获得内测资格! 视频: 「Arcs-Mini」聆思打造全新大模型MCP开发板小巧机身,蕴含强大能量 实现真人般自然对话体验,会感知、会表达、会表情、懂共情,独家人声滤
    发表于 09-25 11:47

    如何用FastMCP快速开发自己的MCP Server?

    作者:算力魔方创始人/英特尔创新大使刘力很多读者反馈:通过 《MCP将百度地图能力轻松接入DeepSeek》 和 《如何用DeepSeek+MCP实现AutoGLM沉思的能力?》 的实战,真真切切
    的头像 发表于 05-07 16:07 3032次阅读
    如何用FastMCP快速开发自己的<b class='flag-5'>MCP</b> Server?