問題タブ [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.
c++ - C/C++ でボーレートを変更する方法
こんにちは、プログラムの途中で UART ポートのボーレートを正しく変更する方法についてアドバイスが必要です。
目的のスレーブとの通信を確立するには、13-26 (MIN 11) LOW BITS で構成されるいわゆる「ブレーク フィールド」を UART で送信する必要があります。これは、8 ビットごとに UART が開始 & を追加する前後のように達成できないと思うためです。ストップビット。私は、ボーレートの送信ブレーク フィールドを 9600Bauds で操作し、その後に 19200Baud の速度を設定することで、これを達成するという考えを持っていました。しかし、オシロスコープでボーレートの違いを確認できません。だから間違ったやり方をしていると思います。
ボーレートを別の方法で設定することでも試しました:
console - 標準ライブラリのprintf()関数で使用するためにUART putcまたはputs関数を登録する方法は?
ビーグルボーン用のベアメタル プログラムを作成しています。したがって、シリアル デバッグ メッセージには UART0 を使用します。というカスタム関数を作成しました
と
これにより、文字または文字列が uart0 に出力され、ターミナル ウィンドウに表示されます。
Mentor Graphics の Sourcery-Codebench は、私がここで使用しているコンパイラ スイートで、printf() を備えた標準 C ライブラリを提供します。ここで、uart0_putc と uart0_puts を接続して、提供された printf() を使用して端末でフォーマットされたメッセージを取得できるようにします。
これは実現可能ですか?同じことをする方法は?
前もって感謝します。
c - C関数はシリアルポートが閉じられるまで送信しません
(2014 年 2 月 1 日編集 - この問題に固有のペア ダウン コード。より小さなコードでテスト。このポーズを編集して、まだ同じ問題がある新しいコード全体を表示。)
私は POSIX シリアル ガイドを使用して、Angstrom Linux ディストリビューション カーネル 3.8 でビーグル ボーン ブラックに取り組んでいます。
serial.c で定義されたシリアル通信を処理する一連の関数を持っています。これらを他のプログラムが使用するライブラリとして使用したいと考えています。関数定義の前に、serial.c の上部で、これらの関数の共通変数の多くを static として宣言しています。これに関する私の意図は、これらがグローバル変数のようになることですが、serial.c 内の関数のみを対象とし、関数呼び出し間で値を保持することです。これが意図したとおりに機能しているように見えます。
関数の 1 つに send_serial() があります。それは文字通り、データをシリアルポートに送信します。serial.c 内に main() 関数を記述し、定義されている同じファイル内から呼び出すと、send_serial() は期待どおりに機能します。プログラムが send_serial() の行に到達するとすぐに、データがシリアル ポートにすぐに書き込まれます。送信ライトと受信ライトが点滅し、予期したデータが返されます。
ただし、別のファイルから send_serial() を使用しようとすると、奇妙な動作をします。それはokを実行し、書き込まれた正しいバイト数を返し、プログラムは次の行に進みますが、実際のシリアルポート通信はまったくありません. プログラムが終了するか、シリアル ポートで close を呼び出すまで、データは実際にシリアル ポートに送信されません。
同じファイル内からは正常に動作するのに、別のファイルからは正しく動作しないのはなぜですか。どちらの場合も、まったく同じ機能を使用してシリアルポートをセットアップして開きます。
シリアル.h
シリアル.c
main.c
send_serial(message); を呼び出すと、serial.c 内から動作します。
send_serial(message); を呼び出すと、serial.c の外部からは、プログラムが終了するまで送信されません。
このプログラムを main.c から実行すると、デバイスからの応答を待っているため、read_serial() 関数で待機します。プログラムがメッセージをシリアル ポートに送信していないため、デバイスは応答を返しません。送ったと言われましたが、送られてきませんでした。CTRL^C を押すと、プログラム (または os) がメッセージを送信し、デバイスがメッセージを受信して応答します。ただし、プログラムが実行されていないため、メッセージは表示されません。
compilation - ARM 上の LWJGL (BBB 上の Minecraft)
BBB で Minecraft を実行するという白鯨をまだ追い続けていた私は、最終的に、大きな問題は 2 つあるという結論に達しました。まず、Minecraft は軽量 Java ゲーム ライブラリ (LWJGL) に依存しており、実行環境をダウンロードするときに参照する ARM バージョンがありません。第 2 に、Minecraft のランチャーでは、起動プロセスで特定の jar を参照することはできません。つまり、ARM に移植できる LWJGL とその付属品のすべてのバージョンも、sha チェックに合格する必要があります。確かに、それらはごまかされる可能性がありますが、私は未知の領域にいるように見えるので、どのように進めるかについて少し途方に暮れています. ここからどこへ行くべきかについてのアドバイスや提案はありますか?
audio - BeagleBoneBlack - I2S ADC を ALSA に登録する
オーディオ ADC (wm8782/pcm1803a) を Beagle Black と接続しようとしています。ファイルdavinci-evm、wm8782.c、および BB-BONE-AUDI-01 デバイス ツリー オーバーレイ ファイルに変更を加えました (以下のコードを参照)。私の問題は、dtbo ファイルをロードすると dmesg が返されることです。
「...コーデック DAI wm8782-hifi が見つかりません」
私のコーデック(wm8782)がalsaコアによって登録されていないと仮定していますが、どこでそれをしなければなりませんか?? Ubuntu 13.10、カーネル: 3.8.13-bone39 を実行しています
ありがとう!
davinci-evm.c
wm8782.c
BB-BONE-AUDI-01-00A0.dts
beagleboneblack - ビーグルボーン ホワイト A6 の opkg が更新されない
ビーグルボーンA6を使用しています。私は TI SDK のビルド済みバイナリをインストールし、Ti Arago Project ファイルシステムを使用しています。
アプリケーションに ntp および gpsd パッケージをインストールしたいと考えています。
私は使用してopkg install ntp
いますが、エラーが表示されています:
opkg update も試しましたが、更新はありませんでした。
Google IP アドレスに ping を実行しようとしましたが、ping アドレスが使用可能であることが示されました。
opkg と ntp の問題について提案してください。
c# - C#/Mono - メモリ マップ ファイルの問題
編集: Mono をバージョン 3.2.7に更新しました (これらの手順を使用してソースからコンパイルする必要がありました)。容量過負荷の引数に関するエラーが表示されなくなりました。以下のエラーが表示されるようになりました。以前、mono verison 2.1 を使用した際、小さなテキスト ファイルをメモリ マップド ファイルとしてテストとして開くことができました。mono の新しいバージョンを使用すると、どのファイルを開こうとしているか、どのオーバーロード引数が提供または省略されていても、この同じエラーが発生します。簡単なグーグル検索では何も得られなかったので、スタックオーバーフローに戻ります。私は何をすべきか?
Unhandled Exception:
System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.EntryPointNotFoundException: Mono_Posix_Syscall_get_at_fdcwd
at (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd ()
at Mono.Unix.Native.Syscall..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path) [0x00000] in <filename unknown>:0
at ConsoleApplication1.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.EntryPointNotFoundException: Mono_Posix_Syscall_get_at_fdcwd
at (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd ()
at Mono.Unix.Native.Syscall..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path) [0x00000] in <filename unknown>:0
at ConsoleApplication1.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
ビーグルボーンの GPIO ピンを制御するプロジェクトに取り組んでいます。Python コードを C# (よく知らない言語) に移植しようとしていますが、/dev/mem にあるボード上のレジスタを、Python で行ったようにメモリ マップ ファイルとして開こうとして問題が発生しました。 . Visual Studio 2010 で .Net Framework バージョン 4.0.30319 を使用してコードを作成およびコンパイルし、コンパイラ バージョン 2.10.8.1 を使用して mono を使用して ubuntu で実行しています。
簡略化されたコードは次のとおりです。
次のエラーが生成されます。
Unhandled Exception: System.ArgumentException: capacity
at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity) [0x00000] in <filename unknown>:0
at ConsoleApplication1.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: capacity
at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity) [0x00000] in <filename unknown>:0
at ConsoleApplication1.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
メモリ マップの容量を指定することも指定しないことも試しました。また、数メガバイトからボード上の使用可能な RAM 全体まで、さまざまな容量の値を指定してみました。ここからどこへ行くべきかについてのヒントはありますか?
cross-compiling - Beagelbone black Angstrom 用の ZMQ クロス コンパイル
オングストロームで実行されているビーグルボーン ブラックの Zmq のクロス コンパイルに成功した人はいますか? これについて参照できるリソースはありますか。
node.js - node.js での正確な時間管理
私はnode.jsが初めてで、スイッチのオンイベントとオフイベントの間の経過時間を判断しようとしています(BeagleBone Blackを使用)。スクリプトは.getTime()で多少動作しますが、私が読んだものから特に正確ではありません。だから私はいくつかの調査を行い、console.time を使用しようとしましたが、私が読んだことから、この特定のアプリケーションの変数に時間値をエクスポートする方法はありません。
エンジンのバルブ開閉イベントのタイミングを計るスクリプトを作成しようとしているので、精度が最も重要です。唯一の入力は、回転するフライホイールに取り付けられた通過磁石によってトリガーされるリード スイッチです。
もっと簡潔に言うと、node.js でイベントのオン/オフを正確に計る方法はありますか?
これは私が現在使用している完全なコードです。注: console.time の使用方法も示しました。
ご協力ありがとうございました!
python - cv2.VideoCapture.open() は常に FALSE を返します
ビーグルボーンで Logitech c310 ウェブカメラにアクセスしようとしています。デバイス ID に対して常に false を返しますが、その理由はわかりません。
次のコードを使用します。
以下のように、カメラは dev/ および で video0 として表示されroot@arm:~#lsusb
ます。
でカメラにアクセスすることもできましたv4l2-ctl
。私は OpenCV に非常に慣れていないので、これはばかげているように聞こえるかもしれませんが、事前にお詫び申し上げます。