問題タブ [uart]
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# - SerialPort: アプリがデータ転送中にデバイスを切断するとブルー スクリーンが発生する
シリアルポート(USBブリッジ付き)を備えたデバイスのソリューションに取り組んでいます。データ転送中にデバイスを切断するとブルースクリーンが発生することを除いて、すべて問題ありません。そして、私のアプリはそれに関する例外をキャッチしません。それを処理する方法はありますか?データが完全に転送されるまで切断しないようにユーザーに依頼してください。
デバイスからデータを読み取るために System.IO.Ports.SerialPort クラスを使用しています。
opengl - OpenGLのシリアル割り込み、どの構造に行く?
Linux で C++ の UART (Boost::asio を使用したシリアル) によって駆動される OpenGL ソフトウェアを作成しています。
現在、データの受信と処理は完了しており、OpenGL で視覚化する準備ができています。とにかく私の質問は次のとおりです。
UART コールバック関数から OpenGL 描画関数を呼び出すにはどうすればよいですか?
もちろん、次の方法で実行できるはずです。
- IPC(PIPE、ソケット、セマフォ)メソッドのいずれかを使用する
- OpenGL 描画関数またはそのクラスを変数として UART コールバックに渡します
- すべてを 1 つのクラスにまとめる
私は非常に多くの同様のケースに遭遇し、さまざまな方法で実装しました。しかし、私はまだ正しい答えが何であるかを理解できません。
私は個人的に PIPE やファイル IO IPC が好きではありません。残っている唯一のオプションは、ソケット、セマフォ、および私が常に使用している共有メモリです。
operating-system - UART 送信バッファ準備完了信号がシリアル送信でスタックする
割り込みを有効にしない端末 UART ドライバー
uart_out() は、私のオペレーティング システムでディスパッチされ、プロセスとして実行されるメソッドですが、char A を 1 回送信または配置した後、プロセスが停止し、それ以上文字が出力されなくなります。私が欠けているものはありますか?
verilog - 14ビットワードを8ビットワードにスケーリング
私は、値を14ビットワードとして表すADCで信号をサンプリングするプロジェクトに取り組んでいます。値を8ビットワードにスケーリングする必要があります。一般的にこれを行うための良い方法は何ですか。ちなみに、私はFPGAを使用しているので、ソフトウェアソリューションではなく「ハードウェア」で使用したいと思います。また、一連のイベントが気になる場合は、アナログ信号のサンプル、サンプル値を14ビットワードで表し、14ビットワードを8ビットワードにスケーリングし、UARTを使用して8ビットワードをPCCOM1に送信します。
私はこれまでこれをしたことがありません。量子化レベルを使用することを想定していましたが、この操作に効率的な回路が何であるかはわかりません。どんな助けでもいただければ幸いです。
ありがとう
cgi - cgi python スクリプトから uart デバイスにアクセスするとエラーが発生する
/dev フォルダーから UART デバイスにアクセスして、ロボットを制御しようとしています。cgi python スクリプトを使用して、インターネットからこれを実行しようとしています。コマンド ラインで実行するとコードは正常に動作しますが、サーバー経由で実行すると 500 エラーが発生します。これはある種のアクセス許可の問題であると確信していますが、解決方法がわかりません。ここで何が起こっているのか、またはどのように修正できるのかを誰かが知っていれば、助けていただければ幸いです。
誰かが見たいと思ったら私のpythonコードを投稿できますが、問題はコードではなく、コードの実行にあると思います。
前もって感謝します、
マイケル、
c - Printfは端末の動作を停止します
入力UARTイベントハンドラーを介して入力番号をキャプチャし、その番号のいくつかの乗算で出力しようとしています。文字列は問題なく印刷されますが、印刷後、プログラムは入力に反応しなくなります。alfabetを印刷したり、エラーメッセージを表示したりすることは可能ですが、printf関数を使用すると、端末が入力に応答しなくなり、カーソルが次の行の途中に置かれます。
これはCコードです:
void uart0_rx_handlerは割り込みハンドラーであり、MSS_UART_get_rxは入力をg_rx_buff[g_rx_idx]に入れます。
文字に使用しているのと同じMSS_UART_polled_tx関数を使用して数値を印刷しようとしましたが、うまくいきませんでした。間違ったASCII値を出力します:
コード出力の例: http: //imageshack.us/photo/my-images/843/testlan.jpg/ 左の端末はprintf関数の使用を示し、右の端末は数値に対するMSS_UART_polled_tx関数の使用を示しています(2番目のコードブロックに示されています) )。
embedded - PIC18F2680 の UART 受信で割り込みがトリガーされない
このコードを何日も使用していますが、割り込みがトリガーされない理由がわかりません。ロジック アナライザーでプローブを使用したため、データが正常に送信されていることがわかります。また、UART で正常に送信できるため、ボー レートも正しいです。
この時点で私は迷子になり、データシートを何度も読みましたが、問題がわかりません。相対的なコードのみを含めようとしますが、私のプロジェクトでどのように動作するかを確認できるようにします。
このコードに問題がある場合はお知らせください。
ありがとうございました!
main.c のコード スニペット:
interrupts.c のコード スニペット
UART RX 割り込みハンドラーのスニペット:
frequency - C8051F996 の UART および FSK 実装
UART 信号を送信しようとしていますが、FSK エンコードされています。ボーレート 290 で UART が動作しています。P0.7TX で送信しています。コンピューターに接続すると、期待どおりの結果が得られます。ただし、この UART の FSK 信号を生成してオーディオ経由で送信し、そこでデコードしたいと考えています。今のところ、データの送信のみに集中しています。
0 と 1 の周波数を作成するために、PCA に基づいて 2 つの関数を作成しました。だいたい1.2kHzと2.4kHzくらいです。また、「loopOne」と「loopZero」は割り込み内で実行する必要があることもわかりました。そうしないと、MCU が loopOne と loopZero を順番に呼び出して、波形を歪ませます。
したがって、私の問題は、割り込みラインを介してUARTの出力を取得し、割り込みを呼び出してから、TXが低いか高いかに応じて割り込みに関数を呼び出す方法がわからないことです。
2つの外部割り込みでそれを行うことができます.1つは出力が低いとき用で、もう1つは出力が高いとき用ですが、別の目的で割り込みの1つが必要なので、同じ割り込みまたは別の割り込みを連結して使用する必要があります。どの関数を呼び出すかを区別する必要があります。
私はCコードでSilicon Laboratories IDEを使用しています。MCU は SiLabs C8051F996 です。
c - AVRButterflyUART-データを受信できません
Atmega169 / AVRバタフライのUARTを別のボードへの送信に使用しています。ボーレート56700、パリティなし、1ストップビット、フロー制御なし。発振器は7,3768Mhzで動作しています(チェック済み)。データを正常に送信できますが(他のボードとPC /ハイパーターミナルで確認)、データを受信できません-デバッガーを実行すると、構成ビットはすべて正しく設定されますが、RXCは常にfalseです-データを送信できるかどうかも確認しました私自身(TXDをRXDに接続し、接地)しましたが、成功しませんでした。(ISRとポーリングで試してみました)以下はコードの関連部分です、あなたがそれを処理できることを願っています-PORTBはオシロスコープでテストするための出力として使用されます(私は1つのピンを使用できることを知っていますが、何もありませんそれ以外の場合は、現在PORTBにあります):
c - UARTから文字列を正しく受信する方法
次のような文字列を送信します:$ 13、-14,283,4、-4,17,6、-240、-180#
しかし、バッファが「オーバーロード」しているために表示されません。文字列全体を受信するにはどうすればよいですか、または各バイトの読み取り後に文字列をクリアするにはどうすればよいですか?