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                
此命令应在Visual Studio的包管理器控制台内使用,因为它使用NuGet模块的Install-Package版本。
<PackageReference Include="nanoFramework.System.Device.Spi" Version="1.3.52" />                
对于支持PackageReference的项目,请将此XML节点复制到项目文件中以引用此包。
paket add nanoFramework.System.Device.Spi --version 1.3.52                
#r "nuget: nanoFramework.System.Device.Spi, 1.3.52"                
#r指令可用于F#交互和Polyglot Notebooks。请将其复制到交互工具或脚本的源代码中,以引用此包。
// 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                

Quality Gate Status Reliability Rating License NuGet #yourfirstpr Discord

nanoFramework logo


欢迎使用 .NET nanoFramework System.Device.Spi 库仓库

构建状态

组件 构建状态 NuGet 包
System.Device.Spi Build Status NuGet

用法

要创建 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}");

读取和写入

您可以读取、写入和执行完整传输。您可以选择使用 SpanByteushort 数组。

重要:在两种情况下,数据位长度都将自动调整。因此,您可以使用 SpanByteushort 数组的同时。

您可以这样写入一个 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 兼容。
兼容目标框架
包括的目标框架(包内)
了解更多关于 目标框架.NET Standard 的信息。

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