我有安裝了Debian的BeagleBone Black。我成功的SSH方式登錄它MobaXterm並且寫了下面的代碼(在納米和gedit中採寫/編譯/運行此):beaglebone黑色閃存板載USR0 led C++,代碼運行但led不變
#include <iostream>
#include <stdio.h>
#include <unistd.h>
using namespace std;
int main(){
cout << "LED Flash Start" << endl;
FILE *LEDHandle = NULL;
const char *LEDBrightness="/sys/class/leds/beaglebone:green:usr0/brightness";
for(int i=0; i<10; i++){
if((LEDHandle = fopen(LEDBrightness, "r+")) != NULL){
fwrite("1", sizeof(char), 1, LEDHandle);
fclose(LEDHandle);
}
usleep(1000000);
if((LEDHandle = fopen(LEDBrightness, "r+")) != NULL){
fwrite("0", sizeof(char), 1, LEDHandle);
fclose(LEDHandle);
}
usleep(1000000);
}
cout << "LED Flash End" << endl;
}
基本上我也跟着此處顯示的步驟:http://elinux.org/Beagleboard:C/C%2B%2B_Programming
的代碼編譯並運行。在終端中,它顯示預期的輸出,但是在BeagleBone黑色上,USR0指示燈永遠不會改變其通常的心跳模式。有誰知道這可能是爲什麼?
在此先感謝。
沒有任何錯誤檢查,你得到你應得的,恐怕。 –
如果你認爲我還沒有嘗試過,那麼爲什麼你不建議它,否則保持對你自己的意思評論。我不知道你的錯誤檢查是什麼意思? – Indi008
函數調用可能會失敗。閱讀文檔以瞭解它們如何表示失敗。檢查這些信號,並至少提醒用戶。 –