問題タブ [beagleboneblack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
301 参照

c - char 配列を出力しないと、関数が間違った値を返す

私は非常に奇妙な状況にあります。Beagle Bone Black のアナログ入力の値を読み取るために使用している関数が 2 つあります。最初の関数はファイルを開き、ピンの値を読み取り、その値を別のピンの値と比較している別の関数に返す必要があります。BUFFERピン番号とファイルパスを連結するために使用しているを印刷する場合にのみ、すべてが正常に機能します。行をコメントアウトするとすぐに、悪い値が得られます。単純に印刷するか印刷しないかで、BUFFERこれがどのように発生するのでしょうか?

編集:「良い」値とはbool pins_within_threshold(photores *data)、正しいしきい値を出力することを意味します。この「しきい値」は、2 つのフォトレジスタの値の差のパーセントです。どちらも同じ量の光を得ており、しきい値は通常 5% 以内の差になります。で BUFFER を印刷した場合にのみ、しきい値が正しい出力になりますfloat AIN_value(char AIN)。printf がコメントアウトされている場合 bool pins_within_threshold(photores *data)、ピンがしきい値内になく、1 つのピンがまったく読み取られないことが出力されます。これは「悪い」値だと思います。

EDIT 2:コメントアウト後の出力は次のsnprintf(BUFFER, sizeof(BUFFER), "%s%c", AIN_FILE, AIN)とおりです。

印刷した場合の出力は次のとおりです。

編集 3: chux としばらくチャットした後、OS がファイルを所有し、ファイルが常に変更されているため、ファイルの読み取り同期の問題があることは明らかです。何らかの理由で、単純な `printf('\n'); 問題を修正します。完全な修正ではありません。これが発生する理由と回避方法について理解を深めてください。

0 投票する
1 に答える
61 参照

c - 一定の変更状態でカーネルによって作成されたファイルを読み取る最適な方法は?

カーネルによって作成され、常に変化しているファイルを読み取る方法を探しています。ビーグルボーンでは、たとえばアナログ入力の値を取得することは、ファイルからの読み取りの問題であり、それを と呼びましょうain_value。この値を取得する推奨される方法は、catコマンドを使用することです。ただし、C を使用してファイルから読み取ることができるようにしたいと考えています。これを処理する現在の方法には、いくつかの欠陥があるようです。1 秒未満のループでファイルを読み取ろうとすると、同期の問題が発生します。`watch --interval=0.5 'cat ain_value' を使用すると、一貫した値を取得できます。次のコードを使用すると、ファイルを開くことができません。OS と同期して、次のコードをより信頼できるものにする方法はありますか?

補足として、このprintf("\n"); // Temporary fix until we know how to sync file reads.行を使用すると正確なファイル読み取りを取得できますが、この行を削除すると間違った値が取得されます。

0 投票する
1 に答える
1887 参照

android - Beaglebone で UART1 を構成するためのルート権限

私が取り組んでいるプロジェクトでは、Android で動作する Beaglebone black を使用しています。UART1 を使用する必要があります。私が理解しているように、UART1 の MODE を設定する必要があります。MODE0 でなければなりません。次のコマンドを使用して、adb 経由で実行できます。

エコー 20 > /sys/kernel/debug/omap_mux/uart1_rxd

エコー 0 > /sys/kernel/debug/omap_mux/uart1_txd

そのようにすべてがうまく機能します。しかし、実際の問題は、アプリケーション内でこの構成を行う必要があり、コーディングを行っていることです。しかし、ルート化されていないため、これらのシェル コマンドを実行する権限がありません。そう:

1) これらのシェル コマンドを実行するために beaglebone black をルート化するにはどうすればよいですか?

2) または、これらのファイルへの書き込み許可を与える方法はありますか? adb 経由で chmod 777 /sys/kernel/debug/omap_mux/uart1_rxd を実行し、アプリ内で書き込み権限を取得できます。しかしもちろん、これは解決策ではありません。なぜなら、ビーグルボーンが再起動するとパーミッションが失われるからです。

単純に、シリアル通信に UART1 (またはその他の UART) を使用したいだけです。ただし、すべてのシェル コマンドはアプリ内で実行する必要があります。どうやってやるの?

0 投票する
2 に答える
1876 参照

qt - Qt アプリへの Beaglebone ブート

私はたくさん検索してグーグルで検索しましたが、これを機能させることができません。

Beaglebone で Qt アプリケーションを起動したいです。ただし、GUI は正常に起動しますが、数秒で Angstrom ログイン画面が GUI を上書きし、バックグラウンドで実行されたままになります。

/etc/systemd/system で次のように systemd サービスをセットアップしました。

私はそれを有効にしました:

私はgdmを無効にしました:

After ステートメントを変更して、他のサービスが完了するまで待機する必要があるのではないかと思います。しかし、何?

よろしく、ジェームズ

0 投票する
1 に答える
450 参照

gcc - Beaglebone:「make」を使用してビルドしようとすると、gcc インクルード パス エラーが発生する

ビーグルボーン ブラックに音声認識用の cmu pocketphinx を構築しようとしています。sphinxbase のソース コードをダウンロードし、./configure を実行しました。ここで、「make」を実行すると、次のエラーが発生します。

/usr/include の下を確認したところ、そこに python2.7 フォルダーが表示されます。しかし、上記では、gcc が python2.7 ディレクトリを見つけられないと言っています。私はちょっと迷っています。どんな助けでも大歓迎です。

ありがとう

0 投票する
2 に答える
689 参照

c++ - C++ アーム アーキテクチャで EOF を検出する方法

上記のコードでは、デバイスのプラグを抜いても、アーム アーキテクチャであるビーグルボーン ubuntu でループが中断されることはありません。上記のコードは、i386 ubuntu デスクトップで機能しました。

- 編集 -

とても奇妙です!マイクのint c; うまくいきませんでした。ギブスを監視しcますc=255が、ループに変更c!=EOFc!=255ても壊れません!! 1時間頑張った後、私は非常にイライラしています!!!

- 編集 -

やってみfstream fin("/dev/ttyUSB0", fstream::in);ました。入力シリアルデバイスのプラグを抜くfin>>cと、CPU使用率が100%になりません!! バグだと思います!