問題タブ [baud-rate]
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 - termios でボーレートを高速化する
Non-Canonical Input Processing を使用して、Xbee Interface XBIB-R-Dev と「DB9-to-USB」ケーブルを使用して、Xbee S2B Pro (ZB) に送信されるシリアル データを読み込んでいます。http://tldp.org/HOWTO/Serial-Programming-HOWTO/x115.htmlのサンプル コードをいくつか使用しています。私がこれを行っているプロジェクトは、厳密には C++ ではなく C コードです。
Ubuntu Linux 12.04 LTS (32 ビット - 最新の更新) を実行しているラップトップで termios.h の情報を読むと、利用可能な最高のボー レートのみが 38400 ボー (B38400 定数) であることがわかります。B38400 の「#define BAUDRATE」をより高いボーレート B57600 以上に単純に交換しても、ヘッダー ファイルで定義されていないため機能しません。B57600 が定義されていないというエラーが表示されます。
私の質問は、Xbee S2B Pro が最大 1 Mbps のシリアル データ レート (digi に記載されている仕様) をプッシュできるため、より高速なレートでデータを読み取ることができるように、これを回避するためのより良い方法または方法 (termios を使用) があるかどうかです。 .com サイト)。
ご協力ありがとうございました。
マイク
java - javax.smartcardio を使用しているときに、PPS コマンドの DESfire EV1 ラップされた APDU に関する問題
MiFare DESfire EV1 カードと通信するために、リーダー側で Java でソフトウェアを作成しています。私はこれに使用していjavax.smartcardio
ます。チャネルを作成し、ネイティブ DESfire コマンドのラップされた APDU を送信することができました。たとえば、ファイルを読み取ったり、認証したりすることさえできました。
最近私が苦労していたのは、レベル 4 で PPS コマンドを送信して、リーダーとカード間のボーレートを設定できるようにすることでした。
ネイティブの PPS コマンドは次のとおりです。
ISO 7816-4 でラップされた APDU を構築する以前の手法に一貫性がある場合、次のようになるはず0x90 0xD0 0x00 0x00 0x2 0x11 0x0A 0x00
です。
このコマンドの応答は次のとおりです。
0x1C
の略ですILLEGAL_COMMAND_CODE
。構文は正しいように思えますが、このコマンドを送信できないのはなぜですか?
python - シリアル ポート経由で送信されたメッセージのビット数をカウントする
接続されているシリアル デバイスのビット レートを調べようとしています。10Hz の速度でバイナリ データを送信するようにデバイスを構成しました。私の計画は、デバイスからの 1 つのメッセージを見て、ビット数を数え、10 を掛けて bps を取得することでした。
これは、1 つのメッセージのフラグメントを使用して、Python でビットをカウントする方法の例です。
そして最後に私の質問: 16 進数のプレフィックス "\0x" を数えるべきですか? メッセージをバイナリ表現に変換してから、メッセージの長さを確認する必要がありますか?
serial-port - ボーレート計算
RS-232 ケーブルを使用して、この 3 軸ドングル シリアル加速度計を接続しています。私はボーレートを 9600 に設定しており、1 秒あたり 80 XXXX-YYYY-ZZZZ の読み出しを取得しています。なぜ 1 秒間に 80 の読み取り値を示すのかを正当化しようとしています。これが私の計算です。
2 バイトのデータ x (1 スタート ビット + 1 ストップ ビット + 8 ビット) = 20 ビット 20 ビット x 3 軸 x 80 読み出し = 4800 ビット
9600 ビットではなく 4800 ビットを取得している間、80 の読み取り値を正当化するために何かを逃したのではないかと思っています。
みんなありがとう :)
c - Debian/Raspberry Pi の非標準ボーレートの C コード
非標準のボー レート 625000 でのみ動作するハードウェア デバイスを使用しています。
USB ポート経由でこのデバイスに接続し、データを読み書きする必要があります。したがって、これを可能にする小さなCプログラムを開発しようとしています。ただし、このコードは Linux 環境 ( Debian / Raspian ) で動作する必要があり、残念ながら私の Linux スキルは初歩的なものにすぎません。
したがって、Linux で非標準のボーレート 625000 を設定し、ハードウェア デバイス (ttyUSB0) に接続し、ビット ストリームをデバイス (0x02 0x01) に送信し、デバイスから返された 7 バイトを読み取ります。
次のスタック オーバーフローの質問を見てきました。
その他...
しかし、私の Linux 知識の穴は大きすぎて、必要なつながりを作ることができません。どうすればいいですか?
hardware - ボー レート クロック VHDL -- 浮動小数点例外エラーおよび/またはスタイルの問題
uart トランスミッタ用の一般的なボー レート ジェネレータ プロセスを構築しようとしています。
ボーレート分周器を無視して感度リストに clk 信号を渡すと、トランスミッタは正常に動作します。しかし、仕切りを実装しようとすると、エラーが発生します (コード コメントに記述)。2 つの異なる方法を試しましたが、どちらもエラーが発生したか、期待どおりの出力が得られませんでした。はい、fbaud を 2 回割り当てるため、投稿された正確なコードは機能しません。1 つをコメントアウトしてテストします。
おそらく、ボージェネレーターがどのように機能するのか理解していません。私の理解では、fpga クロックは 50mHz で動作しますが、これは rs232 通信には速すぎます。そのため、キャラクターを送信する前に、特定の数のクロック サイクルを待機する必要があります。
この場合、可変ボーがあるので、ストック クロックをボー ジェネレータで割って、「ティック」信号を送信ステート マシンに送信する前に待機する必要があるクロック サイクル数を取得します。
ボー ディバイダは、テストベンチで x"000008" に設定されています。