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
<PackageReference Include="nanoFramework.Iot.Device.Mbi5027" Version="1.2.590" />
paket add nanoFramework.Iot.Device.Mbi5027 --version 1.2.590
#r "nuget: nanoFramework.Iot.Device.Mbi5027, 1.2.590"
// 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 与常用 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的更多信息。
以下图片演示了一个二进制时钟计数示例。
示例电路
以下面包板电路演示了正确的布线模式,包括错误检测。
MBI5027的误布线很容易。以下图像捕捉了正确配置的基本方面。
以下是一些关键的正确配置方面:
- 第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. |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.Iot.Device.Multiplexing (>= 1.2.586)
- nanoFramework.Iot.Device.ShiftRegister (>= 1.2.587)
- nanoFramework.Runtime.Events (>= 1.11.18)
- nanoFramework.System.Device.Gpio (>= 1.1.41)
- nanoFramework.System.Device.Spi (>= 1.3.52)
- nanoFramework.System.Threading (>= 1.1.32)
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 |