在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    瀏覽量

    10745
  • Netduino
    +關注

    關注

    0

    文章

    19

    瀏覽量

    3450
收藏 人收藏

    評論

    相關推薦

    納祥科技NX2069,國產I2C總線8位IO擴展器,遠程 I/O口擴展,替代PCF8574

    NX2069 IO擴展芯片內含8個準雙向I/O口(P0-P7),每個端口既可以作為輸出端口驅動外部負載,也可以作為輸入端口讀取外部設備的狀態
    的頭像 發表于 02-05 17:29 ?62次閱讀
    納祥科技NX2069,國產I2C總線8位<b class='flag-5'>IO</b><b class='flag-5'>擴展</b>器,遠程 I/O口<b class='flag-5'>擴展</b>,替代PCF8574

    ADS1118IO端口模擬ISP接口通訊無法獲得數據是怎么回事?

    求助 ADS1118IO端口模擬ISP接口通訊無法獲得數據
    發表于 02-05 08:03

    具有中斷功能的16位I 2C和SMBus IO擴展

    HTR33xx是一款I2C和 SMBus IO擴展器, 2.2V~5.5V電源供電。16個IO端口中的任何一個都可以單獨配置為輸入或輸出。此外,任一
    的頭像 發表于 11-21 11:57 ?249次閱讀
    具有中斷功能的16位I 2C和SMBus <b class='flag-5'>IO</b><b class='flag-5'>擴展</b>器

    怎樣用THS3201實現輸出功率可調?

    怎樣用THS3201實現輸出功率可調?
    發表于 08-26 08:28

    需要選擇一顆并行io擴展器件,擴展16個io連接到外設io\'上,CD74HC4067滿足要求嗎?

    需要選擇一顆并行io擴展器件,擴展16個io連接到外設io\'上,那么CD74HC4067是滿足這個基本功能要求把?看著名字怎么叫模擬多路
    發表于 08-26 06:59

    CMOS可編程I/O端口擴展電路AiP82C55

    CMOS可編程I/O端口擴展電路AiP82C55
    的頭像 發表于 08-09 09:55 ?434次閱讀
    CMOS可編程I/O<b class='flag-5'>端口</b><b class='flag-5'>擴展</b>電路AiP82C55

    OPA735加OPA333,怎樣用TINA TI去仿真?

    當輸入信號VG1從7.06V慢慢變化到7.22V時。 輸出電壓Vout的變化必須是接近線性變化的。我想知道我該怎樣用TINA TI去仿真?怎樣設置那個輸入信號VG1才能達到我的目的。因為這個電壓源好像
    發表于 08-02 08:39

    AiP82C55通可編程I/O端口擴展芯片產品介紹

    AiP82C55是一款經典的通用可編程I/O端口擴展芯片。廣泛應用于工業自動化及數據采集處理等領域。該芯片具有靈活的可編程性并且擁有三個獨立的8位并行I/O口(PA、PB、PC),其中PC端口又可
    的頭像 發表于 07-26 17:07 ?772次閱讀
    AiP82C55通<b class='flag-5'>用</b>可編程I/O<b class='flag-5'>端口</b><b class='flag-5'>擴展</b>芯片產品介紹

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?
    發表于 05-07 06:55

    stm32f100怎樣用重映射功能?

    的是stm32f100c8t6b芯片,現在想用將PB1映射為TIM1_CH3N,在調用GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_TIM1)時, GPIO_PinAFConfig和GPIO_AF_TIM1都沒定義,stm32f100
    發表于 05-07 06:06

    在嵌入式設計中擴展串行端口的入門知識

    大多數嵌入式系統都至少提供兩個串口。然而,有些系統需要更多。因此,這需要以某種方式擴展串行端口的數量。設計人員可用的一些選擇包括 USB 到串行端口、I2C 到串行端口、地址/數據總線
    發表于 05-03 09:30 ?309次閱讀
    在嵌入式設計中<b class='flag-5'>擴展</b>串行<b class='flag-5'>端口</b>的入門知識

    請問如何擴展單片機的IO口?

    在很多項目上都會因單片機的IO口不夠、或降低硬件成本要擴展IO口,特別在一些機械設備上,如本人從事的這個行業,有時候由一個單片機要擴展到80個輸入,80個輸出,還要有串口、USB等等這
    發表于 04-24 06:30

    請問CAN-PLC如何擴展額外IO(輸入/輸出)呢?

    PLC通常會提供擴展模塊,可以通過這些模塊來擴展IO點的數量。這些擴展模塊通常可以通過現有的總線結構與PLC通訊,例如通過以太網、Profibus、Modbus等常用總線協議。
    的頭像 發表于 04-19 09:47 ?1174次閱讀

    STM32擴展IO口如何做?

    STM32擴展IO口,如何做
    發表于 04-16 08:27

    STM32F412G-DISCO怎樣用MX生成fatfs的代碼?

    STM32F412G-DISCO怎樣用MX生成fatfs的代碼? SD卡例程能跑,但mx生成的代碼不能正常運行,我生成代碼后是不是還要配置一些東西?(我生成后只寫了測試代碼) 問題解決了,雖然我不知道我為什么不能直接使用mx生成的代碼去操作sd卡,但我通過復制粘貼例程的代碼完成了測試。
    發表于 03-12 08:15
    主站蜘蛛池模板: 免费高清在线观看a网站 | 中文字幕一区二区三区四区 | 亚色在线观看 | 国产美女视频一区二区三区 | 国产精品久久久久免费 | 2021最新久久久视精品爱 | 麻豆三级在线播放 | 成色网| 免费在线成人 | 免费看曰批女人爽的视频网址 | 韩国特黄特色a大片免费 | 97久草| 日韩三级免费观看 | 99热成人精品热久久669 | yy8090韩国日本三理论免费 | 欧美草比 | 啪啪啦资源站永久 | 激情久久久久久久久久 | 一区二区三区高清视频在线观看 | 久久久久久天天夜夜天天 | 很色视频 | 国产婷婷综合丁香亚洲欧洲 | 色噜噜亚洲精品中文字幕 | 久久婷婷色一区二区三区 | 亚洲高清日韩精品第一区 | 天天操天天操天天操香蕉 | 激情午夜婷婷 | 天堂在线www网亚洲 天堂在线观看 | 操天天| 日本黄色电影在线 | 热久久最新视频 | 一级片成人 | 精品国产影院 | 免费看一级视频 | 韩日中文字幕 | 国产拳头交一区二区 | 日本免费一区二区在线观看 | 一级视频免费观看 | 国产一卡二卡3卡4卡四卡在线 | 免费欧洲美女与动zooz | 91极品女神嫩模在线播放 |