nanoFramework.System.Device.Spi 1.3.52
前缀已保留
dotnet add package nanoFramework.System.Device.Spi --version 1.3.52
NuGet\Install-Package nanoFramework.System.Device.Spi -Version 1.3.52
<PackageReference Include="nanoFramework.System.Device.Spi" Version="1.3.52" />
paket add nanoFramework.System.Device.Spi --version 1.3.52
#r "nuget: nanoFramework.System.Device.Spi, 1.3.52"
// Install nanoFramework.System.Device.Spi as a Cake Addin #addin nuget:?package=nanoFramework.System.Device.Spi&version=1.3.52 // Install nanoFramework.System.Device.Spi as a Cake Tool #tool nuget:?package=nanoFramework.System.Device.Spi&version=1.3.52
欢迎使用 .NET nanoFramework System.Device.Spi 库仓库
构建状态
组件 | 构建状态 | NuGet 包 |
---|---|---|
System.Device.Spi |
用法
要创建 SpiDevice,需要遵循这个模式
SpiDevice spiDevice;
SpiConnectionSettings connectionSettings;
// Note: the ChipSelect pin should be adjusted to your device, here 12
// You can adjust as well the bus, here 1 for SPI1
connectionSettings = new SpiConnectionSettings(1, 12);
spiDevice = SpiDevice.Create(connectionSettings);
如果您将控制芯片选择线的状态,需要在 SpiConnectionSettings(...) 的第二个参数中传递 -1
。指定 GPIO 编号时,驱动程序会为您设置适当的信号状态,以在 SPI 事务期间处理。
SpiConnectionSettings 和 SpiBusInfo
SpiConnectionSettings
包含设置硬件 SPI 设备所需的键元素。创建后,这些元素不能调整。
connectionSettings.ChipSelectLineActiveState = PinValue.High; // Default is active Low
connectionSettings.ClockFrequency = 1_000_000;
connectionSettings.DataFlow = DataFlow.LsbFirst; // Default is MSB
要获取默认的总线值,特别是总线最小和最大频率,以及最大芯片选择数,可以使用 SpiBusInfo
。
SpiBusInfo spiBusInfo = SpiDevice.GetBusInfo(1);
Debug.WriteLine($"{nameof(spiBusInfo.MaxClockFrequency)}: {spiBusInfo.MaxClockFrequency}");
Debug.WriteLine($"{nameof(spiBusInfo.MinClockFrequency)}: {spiBusInfo.MinClockFrequency}");
读取和写入
您可以读取、写入和执行完整传输。您可以选择使用 SpanByte
或 ushort
数组。
重要:在两种情况下,数据位长度都将自动调整。因此,您可以使用 SpanByte
和 ushort
数组的同时。
您可以这样写入一个 SpanByte
SpanByte writeBuffer = new byte[2] { 42, 84 };
spiDevice.Write(writeBuffer);
您可以这样写入一个 ushort
数组
ushort[] writeBuffer = new ushort[2] { 4200, 8432 };
spiDevice.Write(writeBuffer);
您还可以写入一个单独的字节
spiDevice.WriteByte(42);
读取操作类似
SpanByte readBuffer = new byte[2];
// This will read 2 bytes
spiDevice.Read(readBuffer);
ushort[] readUshort = new ushort[4];
// This will read 4 ushort
spiDevice.Read(readUshort);
// read 1 byte
byte readMe = spiDevice.ReadByte();
对于完整传输,您需要有两个大小相同的数组,并执行全双工传输
SpanByte writeBuffer = new byte[4] { 0xAA, 0xBB, 0xCC, 0x42 };
SpanByte readBuffer = new byte[4];
spiDevice.TransferFullDuplex(writeBuffer, readBuffer);
// Same for ushirt arrays:
ushort[] writeBuffer = new ushort[4] { 0xAABC, 0x00BB, 0xCC00, 0x4242 };
ushort[] readBuffer = new ushort[4];
spiDevice.TransferFullDuplex(writeBuffer, readBuffer);
反馈和文档
有关文档、提供反馈、报告问题和了解如何贡献力量,请参阅 主仓库。
加入我们的 Discord 社区 这里。
致谢
该项目的贡献者名单可在 CONTRIBUTORS 中找到。
许可证
nanoFramework 类库受 MIT 许可证 授权。
行为准则
本项目已采用贡献者公约中定义的行为准则,以明确我们社区中的期望行为。更多信息请参阅 .NET 基金会行为准则。
.NET Foundation
本项目得到 .NET 基金会 的支持。
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET Framework | net 兼容。 |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.Runtime.Events (>= 1.11.18)
- nanoFramework.System.Device.Gpio (>= 1.1.41)
NuGet 包 (32)
显示依赖于 nanoFramework.System.Device.Spi 的前 5 个 NuGet 包
包 | 下载 |
---|---|
nanoFramework.M5Core2 此包包含用于 .NET nanoFramework C# 项目的 nanoFramework.M5Core2 程序集。 |
|
nanoFramework.M5Core 此包包含用于 .NET nanoFramework C# 项目的 nanoFramework.M5Core 程序集。 |
|
nanoFramework.AtomLite 此包包含用于 .NET nanoFramework C# 项目的 nanoFramework.AtomLite 程序集。 |
|
nanoFramework.Iot.Device.ShiftRegister 此软件包包含适用于.NET nanoFramework C#项目的.NET IoT Core绑定Iot.Device.ShiftRegister。 |
|
nanoFramework.AtomMatrix 此软件包包含适用于.NET nanoFramework C#项目的nanoFramework.AtomMatrix组件。 |
GitHub仓库 (2)
显示依赖于nanoFramework.System.Device.Spi的前2个最受欢迎的GitHub仓库。
仓库 | 星标 |
---|---|
nanoframework/Samples
🍬 nanoFramework团队在测试、概念证明和其他探索性工作中使用的代码示例
|
|
nanoframework/nanoFramework.IoT.Device
📦 此仓库包含适用于各种传感器、芯片、显示器、帽子和驱动器的.NET nanoFramework实现
|
版本 | 下载 | 最后更新 |
---|---|---|
1.3.52 | 4,208 | 5/27/2024 |
1.3.48 | 1,073 | 5/10/2024 |
1.3.43 | 7,689 | 11/9/2023 |
1.3.41 | 155 | 11/9/2023 |
1.3.37 | 40,180 | 12/27/2022 |
1.3.34 | 462 | 12/27/2022 |
1.3.32 | 411 | 12/22/2022 |
1.3.30 | 325 | 12/22/2022 |
1.3.22 | 35,957 | 10/11/2022 |
1.3.18 | 14,503 | 9/23/2022 |
1.3.15 | 20,411 | 9/14/2022 |
1.3.12 | 449 | 9/13/2022 |
1.3.8 | 7,408 | 9/7/2022 |
1.3.4 | 38,511 | 7/12/2022 |
1.3.2 | 10,071 | 7/6/2022 |
1.2.1 | 83,181 | 4/25/2022 |
1.1.1 | 13,789 | 4/21/2022 |
1.0.5 | 30,823 | 3/29/2022 |
1.0.5-preview.5 | 138 | 3/29/2022 |
1.0.5-preview.3 | 132 | 3/29/2022 |
1.0.4 | 147 | 3/28/2022 |
1.0.4-preview.14 | 127 | 3/28/2022 |
1.0.4-preview.11 | 368 | 3/17/2022 |
1.0.4-preview.9 | 146 | 3/17/2022 |
1.0.4-preview.7 | 219 | 3/14/2022 |
1.0.4-preview.5 | 134 | 3/14/2022 |
1.0.4-preview.3 | 418 | 3/3/2022 |
1.0.4-preview.1 | 227 | 2/24/2022 |
1.0.3-preview.24 | 202 | 2/18/2022 |
1.0.3-preview.21 | 133 | 2/17/2022 |
1.0.3-preview.19 | 296 | 2/4/2022 |
1.0.3-preview.17 | 319 | 1/28/2022 |
1.0.3-preview.15 | 145 | 1/28/2022 |
1.0.3-preview.13 | 147 | 1/28/2022 |
1.0.3-preview.11 | 247 | 1/22/2022 |
1.0.3-preview.9 | 188 | 1/21/2022 |
1.0.3-preview.7 | 158 | 1/21/2022 |
1.0.3-preview.5 | 158 | 1/21/2022 |
1.0.3-preview.3 | 345 | 12/29/2021 |
1.0.2 | 6,084 | 12/3/2021 |
1.0.2-preview.31 | 162 | 12/2/2021 |
1.0.2-preview.29 | 152 | 12/2/2021 |
1.0.2-preview.27 | 151 | 12/2/2021 |
1.0.2-preview.25 | 166 | 12/2/2021 |
1.0.2-preview.22 | 149 | 12/2/2021 |
1.0.2-preview.20 | 157 | 12/1/2021 |
1.0.2-preview.17 | 5,991 | 11/23/2021 |
1.0.2-preview.15 | 338 | 11/13/2021 |
1.0.2-preview.13 | 303 | 10/23/2021 |
1.0.2-preview.11 | 543 | 10/18/2021 |
1.0.2-preview.5 | 709 | 7/16/2021 |
1.0.2-preview.3 | 174 | 7/16/2021 |
1.0.1 | 970 | 7/16/2021 |
1.0.0-preview.80 | 163 | 7/16/2021 |
1.0.0-preview.77 | 193 | 7/15/2021 |
1.0.0-preview.75 | 190 | 7/14/2021 |
1.0.0-preview.70 | 440 | 6/20/2021 |
1.0.0-preview.68 | 289 | 6/19/2021 |
1.0.0-preview.65 | 179 | 6/8/2021 |
1.0.0-preview.63 | 194 | 6/7/2021 |
1.0.0-preview.61 | 213 | 6/7/2021 |
1.0.0-preview.59 | 272 | 6/5/2021 |
1.0.0-preview.57 | 187 | 6/3/2021 |
1.0.0-preview.55 | 174 | 6/2/2021 |
1.0.0-preview.53 | 203 | 6/1/2021 |
1.0.0-preview.51 | 214 | 5/31/2021 |
1.0.0-preview.50 | 228 | 5/31/2021 |
1.0.0-preview.49 | 222 | 5/31/2021 |
1.0.0-preview.48 | 199 | 5/31/2021 |
1.0.0-preview.46 | 200 | 5/30/2021 |
1.0.0-preview.44 | 174 | 5/29/2021 |
1.0.0-preview.42 | 467 | 5/26/2021 |
1.0.0-preview.40 | 503 | 5/25/2021 |
1.0.0-preview.38 | 726 | 5/20/2021 |
1.0.0-preview.36 | 176 | 5/19/2021 |
1.0.0-preview.34 | 199 | 5/19/2021 |
1.0.0-preview.32 | 181 | 5/15/2021 |
1.0.0-preview.30 | 174 | 5/14/2021 |
1.0.0-preview.28 | 194 | 5/13/2021 |
1.0.0-preview.26 | 179 | 5/12/2021 |
1.0.0-preview.24 | 301 | 5/6/2021 |
1.0.0-preview.21 | 175 | 5/4/2021 |
1.0.0-preview.19 | 556 | 4/29/2021 |