我想通過Java訪問我的Pi的GPIO。是的,我知道有Pi4J,但我需要使用一個名爲 RCSwitch-PI(在github)庫,它發送433MHZ信號(當然實際上我相信它可以比多做但多數民衆贊成什麼,我需要)通過JNI從java訪問wiringPi(GPIO)
的事情是,如果我從普通的C++使用庫本身,我可以控制我的電源插頭並傳輸信號。 但是,一旦我通過JNI從Java使用它,GPIO引腳永遠不會被觸發。我插入一個LED來檢查,但沒有電流產生。它一直到腳本的地方,它稱爲功能
digitalWrite(this->nTransmitterPin, HIGH);
delayMicroseconds(this->nPulseLength);
}
但多數民衆贊成它。它實際上並不執行「digitalWrite」,但是如果不從Java調用它,它會執行此操作。
是的,我使用sudo權限進行所以這不是問題: -/
此外,這是有點出於好奇:
代碼是說「delayMicroseconds」和變量「nPulseLength」設置爲300. 這意味着在調用下一個振幅之前,每個振幅設置爲300ms。所以它可以如此簡單:
_ _
| |_| |_
爲1010或東西。 反正433MHz的脈衝將需要每個波是60釐米長或在其他方面:
2.30947納秒*這將意味着所述GPIO開關光速= 69.2361688釐米
將不得不從0切換到1並在2.30納秒內回到0。那對於一個狀態開關來說,一個小於300毫秒的地獄不是嗎?
只是想知道...