nanoFramework.Iot.Device.Mbi5027 1.2.590

前缀已保留
dotnet add package nanoFramework.Iot.Device.Mbi5027 --version 1.2.590                
NuGet\Install-Package nanoFramework.Iot.Device.Mbi5027 -Version 1.2.590                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用的是 NuGet 模块的 Install-Package 版本。
<PackageReference Include="nanoFramework.Iot.Device.Mbi5027" Version="1.2.590" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用该包。
paket add nanoFramework.Iot.Device.Mbi5027 --version 1.2.590                
#r "nuget: nanoFramework.Iot.Device.Mbi5027, 1.2.590"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本源代码中,以引用该包。
// Install nanoFramework.Iot.Device.Mbi5027 as a Cake Addin
#addin nuget:?package=nanoFramework.Iot.Device.Mbi5027&version=1.2.590

// Install nanoFramework.Iot.Device.Mbi5027 as a Cake Tool
#tool nuget:?package=nanoFramework.Iot.Device.Mbi5027&version=1.2.590                

MBI5027 -- 16位移位寄存器,具有错误检测功能

MBI5027 是一个 16 位移位寄存器。根据数据表,MBI5027 是“具有开路/短路检测的 16 位恒定电流 LED 源驱动器”。Mbi5027 绑定 基于 ShiftRegister 绑定,并且与之兼容。Mbi5027 绑定增加了错误检测功能。任一绑定均可用于控制 MBI5027。

MBI5027

MBI5027 与常用 SN74HC595 移位寄存器类似,有一些关键区别。

  • MBI5027 有 16 个输入(可以控制 16 个 LED),而 SN74HC595 有 8 个输出。
  • MBI5027是一种电流源器件,意味着您需要将阴极(地线),而不是阳极(电源线)引脚,连接到其引脚上。电流是从源端流向器件,而不是从器件流走。SN74HC595是一种电流源,由于电流方向相反,因此需要进行相反的布线。
  • MBI5027提供可配置的恒定电流,这意味着每个输入不需要单独的电阻。使用单个电阻连接到R-EXT来配置电流。
  • MBI5027可以检测输入错误。
  • SN74HC595提供存储寄存器清除功能,而MBI5027没有。
  • MBI5027和SN74HC595可以用相同的API控制其基本操作;它们是协议兼容的。

注意:MBI5168是一款无错误检测功能的8位恒定电流源,与SN74HC595的直接比较更为明显。

MBI5027示例演示了如何使用移位寄存器。《通用移位寄存器示例》更全面,并且与MBI5027兼容。

文档

  • 您可以在这里找到数据表:[MBI5027数据表](http://archive.fairchip.com/pdf/MACROBLOCK/MBI5027.pdf)
  • 购买:不太常见。aliexpress.com/被用来购买编写此绑定所需的单元。

使用方法

以下示例代码演示了如何使用MBI5027及其最基本的函数。

Mbi5027 sr = new(Mbi5027PinMapping.Minimal);

// Light up three of first four LEDs
sr.ShiftBit(1);
sr.ShiftBit(1);
sr.ShiftBit(0);
sr.ShiftBit(1);
sr.Latch();

// Display for 1s
Thread.Sleep(1000);

// Clear register
sr.ShiftClear();

// Write to all 16 registers with two byte values
// The `false` parameter avoids latching the storage register after the first call to `ShiftByte`
sr.ShiftByte(0b_1101_1010, false);
sr.ShiftByte(0b_1010_1101);

如果您想使用SPI,请参阅《ShiftRegister绑定》,其中包含有关SPI的更多信息。

以下图片演示了一个二进制时钟计数示例

binary clock counting example

示例电路

以下面包板电路演示了正确的布线模式,包括错误检测。

MBI5027_BB_topview

MBI5027的误布线很容易。以下图像捕捉了正确配置的基本方面。

MBI5027 basic wiring

以下是一些关键的正确配置方面:

  • 第24脚(VDD)必须连接到5伏特,以便错误校正能正常工作。
  • 第23脚(R-EXT)必须通过一个电阻连接到地线,以配置恒定电流。
  • 负载必须通过其阴极引脚连接到MBI5027。在这个示例中,LED通过其阳极引脚连接到地线,并通过阴极引脚连接到MBI5027输入引脚。

错误检测

MBI5027能够检测每个输出的错误。这对于远程部署非常有用,例如确定是否需要维修(例如交通标志)。MBI5027需要切换到错误检测模式以检测错误,然后再切换回正常模式进行正常操作。

以下示例代码演示了如何使用MBI5027检测输出错误。

var sr = new Mbi5027(Mbi5027PinMapping.Complete);

// switch to error detection mode
sr.EnableDetectionMode();

// read error states, per output
var index = sr.BitLength - 1;
foreach (var value in sr.ReadOutputErrorStatus())
{
    Debug.WriteLine($"Bit {index--}: {value}");
}

// switch back to normal mode
sr.EnableNormalMode();

根据数据表,可以在读取输出错误状态之前和重新进入正常模式之前将数据移入存储寄存器。

当所有16个输出均在使用中且没有检测到错误时,您将看到以下输出。如果输出未被使用、配置错误或其他错误情况,则将显示低电平状态。您可以通过断开MBI5027的一个输入连接来创建这种状态。

Bit 15: High
Bit 14: High
Bit 13: High
Bit 12: High
Bit 11: High
Bit 10: High
Bit 9: High
Bit 8: High
Bit 7: High
Bit 6: High
Bit 5: High
Bit 4: High
Bit 3: High
Bit 2: High
Bit 1: High
Bit 0: High

注意:发现错误检测仅在5伏电源下工作。当使用3.3伏电源时,错误检测未能正确工作。

产品 兼容的和额外的计算目标框架版本。
.NET Framework net is compatible. 
兼容的目标框架(s)
包含的目标框架(s)(在包中)
了解有关目标框架.NET Standard的更多信息。

NuGet包

此包没有被任何NuGet包使用。

GitHub仓库

此包没有被任何流行的GitHub仓库使用。

版本 下载 最后更新
1.2.590 78 7/17/2024
1.2.570 85 6/14/2024
1.2.560 80 5/29/2024
1.2.548 66 5/15/2024
1.2.436 226 11/10/2023
1.2.416 105 11/8/2023
1.2.329 145 5/26/2023
1.2.313 131 5/12/2023
1.2.302 132 5/10/2023
1.2.297 153 5/3/2023
1.2.273 223 3/17/2023
1.2.203 271 12/28/2022
1.2.159 355 11/14/2022
1.2.153 367 11/5/2022
1.2.141 382 10/25/2022
1.2.122 433 10/12/2022
1.2.114 367 10/8/2022
1.2.104 402 9/24/2022
1.2.95 429 9/22/2022
1.2.87 472 9/15/2022
1.2.73 401 9/8/2022
1.2.5 453 7/13/2022
1.1.141.41205 426 7/6/2022
1.1.116.8772 405 6/24/2022
1.1.113.2032 426 6/23/2022
1.1.58.10097 436 5/23/2022
1.1.27 446 4/26/2022
1.1.20 413 4/21/2022
1.1.3 432 4/15/2022
1.1.1 417 4/14/2022
1.0.300 428 3/31/2022
1.0.277-preview.128 114 3/26/2022
1.0.277-preview.126 116 3/25/2022
1.0.277-preview.125 107 3/25/2022
1.0.277-preview.113 111 3/20/2022
1.0.277-preview.112 106 3/19/2022
1.0.277-preview.110 105 3/18/2022
1.0.277-preview.105 111 3/15/2022
1.0.277-preview.103 113 3/14/2022
1.0.277-preview.102 102 3/11/2022
1.0.277-preview.99 119 3/10/2022
1.0.277-preview.98 112 3/8/2022
1.0.277-preview.85 114 2/25/2022
1.0.277-preview.77 107 2/18/2022
1.0.277-preview.60 125 2/4/2022
1.0.277-preview.41 125 1/28/2022
1.0.277-preview.32 127 1/27/2022
1.0.277-preview.17 132 1/24/2022
1.0.277-preview.13 121 1/21/2022
1.0.277-preview.1 122 1/11/2022
1.0.259 340 12/9/2021
1.0.221 150 10/19/2021
1.0.219 156 10/19/2021
1.0.218 180 10/18/2021
1.0.156 160 9/1/2021
1.0.155 151 8/31/2021
1.0.150 170 7/23/2021
1.0.148 155 7/22/2021
1.0.125 188 7/5/2021
1.0.119 222 6/28/2021
1.0.112 195 6/16/2021
1.0.79 168 5/26/2021