2016-03-22 29 views
1

我想通過在Windows 10 Iot核心上使用c#的樹莓pi2上的GPIO接口〜30Hz頻率輸入計數Gpio輸入信號。儘管我失去了大部分信號。所以我激活了Lightning Driver,我包含了C++ Lightning接口,我的LightningProvider似乎正確初始化。我正在測試LightningProvider.IsLightningEnabled並相應地初始化GpioController。 編譯器似乎很高興並生成一個可執行文件,可以在Raspberry Pi2上遠程調試我的GPIO輸出繼續驅動我編程的Soft-PWM應用程序。唯一的問題是,當我激活Pi上的LightningDriver時,設置爲統計我的信號的EventHandler不再被調用。
或將其縮短:只要激活LightningDriver,我就不會再收到任何輸入信號。 任何線索?沒有Gpio輸入信號與LightningDriver

回答

0

看到你的GPIO初始化在這裏可能會有所幫助,但是我遇到過類似的問題,即在第一次或第二次被觸發後,我停止從GPIO引腳返回事件。

我在構造函數中設置了引腳,它們只是局部變量,事件處理函數被定義爲私有方法。

解決方案是爲我的引腳提供更多的範圍,因爲.NET在使用過一次後就銷燬了這些引腳事件。我的代碼最終是這樣的:

private readonly GpioController _gpio; 
private readonly GpioPin _rateOnePin; 
private readonly GpioPin _rateTwoPin; 

用下面的構造函數代碼:

_gpio = GpioController.GetDefault(); 

if (_gpio != null) 
{ 
    _rateOnePin = _gpio.OpenPin(5); 
    _rateOnePin.ValueChanged += RateOneReceived; 

    _rateTwoPin = _gpio.OpenPin(6); 
    _rateTwoPin.ValueChanged += RateTwoReceived; 
} 

我不知道爲什麼覺得有必要處置他們,但使得這並獲得成功對我來說。

+0

感謝您的評論 - 但那不是它。我認爲我有理由:有關MSDN的評論關於LightningDrivers,目前的版本還不支持中斷。所以我會轉換爲投票,看看是否有效。 –