所以,
我正在使用Raspberry Pi模型3b,并且我已成功运行.NetCore v2.0.1。我已经能够构建CoreIOT Hello World项目并在我的Pi上运行它没有问题现在我有一些使用GPIO板创建的自定义硬件,我认为在.NETCore中使用它的唯一方法是使用FileSystem方法/sys/class/gpio
我已经构建了一个非常小的应用程序
https://github.com/barkermn01/CanReader
在那里没有多少但是由于某种原因,当我运行应用程序时,我得到的是一条消息Proccess is terminating due to StackOverflowException
我不确定是什么导致它没有什么在那里太大了我不会#39;认为只是基本的文件系统阅读。
我唯一能想到的是它不喜欢无限循环
来自:https://github.com/barkermn01/CanReader/blob/master/Program.cs
while (!exiting)
{
Console.Write("\rCurrent State " + state);
string input = Console.ReadLine();
if (input == "exit")
{
watcher.Stop();
exiting = true;
}
}
和发件人:https://github.com/barkermn01/CanReader/blob/master/GPIOWatcher.cs
public void watch()
{
GPIO.Value val = Gpio.ReadValue();
while (val != OldValue)
{
val = Gpio.ReadValue();
if (Delegate != null)
{
Delegate.DynamicInvoke();
}
Thread.Sleep(10);
}
}
答案 0 :(得分:10)
检查访问自己的property getter of GPIO.FullPath
:
/// <summary>
/// Generates the full path for the Filesystem mappings for this GPIO pin
/// </summary>
public string FullPath
{
get
{
return this.Path + "/" + this.FullPath;
}
}