我试图构建一个统一项目,从GPIO引脚中获取一些数据,这些数据包含在LattePanda Delta上。我设置了连接并尝试将其构建为与arduino的串行连接,一切都很好。我有一个按钮与3个轴,我可以得到-1,1输出与9600波特率使用arduino串口连接。我这么做是为了测试。我的电缆连接在LattePanda上的Arduino GPIO引脚上。现在重点是我想在联合中获取数据。首先要做的是定义GPIO控制器和读取引脚。我做了研究,我认为应该使用System.Device.Gpio nuget。我还在团结项目解决方案上安装了Iot.Device.Bindings。
我正在尝试创建一个脚本并添加一个定义,如
使用System.Device.Gpio,但当我尝试这样做时,我输入的是“System”。而设备选项并没有消失。如果是这样的话,我将把gpio定义为GpioController,而不是用我的GPIO输入来创建一个引脚。下面是示例代码,Visual无法识别"** using . **“部分。我该怎么做呢?我的平台是UWP(能够使用windows物联网核心)。并试图理解"var output =pin.Read()“的输出是什么,因为它应该给出类似于”高“或”低“或"1”或"0“的输出。但是我尝试将输出变量定义为布尔变量,它不是布尔值。如果我能首先解决使用System.Device.Gpio的问题,我会解决它的。
在这段代码中,我试图读取pin-3,因为我的一个按钮的输入操作是连接到Pin-3的。就目前而言,不关心其他两个动作。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
**using System.Device.Gpio;**
public class communication : MonoBehaviour
{
void Start()
{
GpioController gpio = GpioController.GetDefault();
}
void Update()
{
using (GpioPin pin = gpio.OpenPin(3))
{
pin.SetDriveMode(GpioPinDriveMode.Output);
var output = pin.Read();
if(output==1){
// do something
}else{
// do something
}
}
}
}发布于 2022-10-21 12:53:49
我对Windows并不熟悉,但据我所知,它运行的是完整的LattePanda,而不是IoT版本的Windows。因此,我认为您可能希望使用这个库,它将允许您在完整的Windows:https://github.com/LattePandaTeam/LattePanda-Development-Support/tree/master/LattePandaFirmata中与主板接口。
"LattePanda.Firmata是LattePanda提供的开源Firmata库,适用于Visual应用程序。这个类允许您从LattePanda应用程序控制Arduino板.
这个GitHub项目看起来像是由LattePanda团队制作的。
因此,您不必使用System.Device.Gpio,而是安装它们的代码,并拥有如下内容:
using LattePanda.Firmata;
...
Arduino arduino = new Arduino();
arduino.pinMode(12, Arduino.OUTPUT);
arduino.pinMode(13, Arduino.OUTPUT);
var digitalOutput = arduino.digitalRead(12);
var analogOutput = arduino.analogRead(13);我无法立即测试上面的代码,所以代码可能不太正确,但希望您能理解。
https://stackoverflow.com/questions/74151046
复制相似问题