c# - Raspberry Pi 3A+ 使用 Mono C# 来控制 SPI 连接
问题描述
我遵循 Microsoft 的文档如下: https://docs.microsoft.com/en-us/windows/iot-core/learn-about-hardware/pinmappings/pinmappingsrpi 这是代码:
using Windows.Devices.Enumeration;
using Windows.Devices.Spi;
public async void SPI()
{
// Use chip select line CS0
var settings = new SpiConnectionSettings(0);
// Set clock to 10MHz
settings.ClockFrequency = 10000000;
// Get a selector string that will return our wanted SPI controller
string aqs = SpiDevice.GetDeviceSelector("SPI0");
// Find the SPI bus controller devices with our selector string
var dis = await DeviceInformation.FindAllAsync(aqs);
// Create an SpiDevice with our selected bus controller and Spi settings
using (SpiDevice device = await SpiDevice.FromIdAsync(dis[0].Id, settings))
{
byte[] writeBuf = { 0x01, 0x02, 0x03, 0x04 };
device.Write(writeBuf);
}
}
此代码可以构建成功。但它在带有 Mono 的 Raspbian 中不起作用。环顾四周,我遵循: https ://github.com/dotnet/iot/issues/1089
迁移的方法是删除对 winmds 和 System.Runtime.WindowsRuntime 和 System.Runtime.InteropServices.WindowsRuntime 的所有引用,而只引用 Microsoft.Windows.SDK.NET 包。
但由于以下错误,它无法构建:
“IAsyncAction”类型是在未引用的程序集中定义的。您必须添加对程序集“Windows,Version=255.255.255.255,Culture=neutral,PublicKeyToken=null,ContentType=WindowsRuntime”的引用
我阅读了以下链接,但无济于事。 Windows 服务中的 IAsyncOperation 等待:“类型是在未引用的程序集中定义的......”
解决方案
推荐阅读
- java - 休眠查询 - 用户名,如多个输入
- python - DjangoFilterBackend:过滤主键会导致“选择一个有效的选择。该选择不是可用的选择之一。”
- c - 传递字符串时为空
- javascript - HTML5画布用圆圈填充图像
- r - 如何循环绘制数据并将其导出到 R
- php - Laravel Carbon 投射日期时间以将秒数设置为 00
- mongodb - 在 CosmosDB MongoDB API 数据库上连接 AzureDatabricks
- python - 如何在 keras.preprocessing.image.ImageDataGenerator 前后显示数据增强的结果
- c# - 是否可以选择在统一上使用代码编写器
- python - 应用于张量的 TensorFlow/Keras 嵌入层