問題タブ [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.

0 投票する
5 に答える
1050 参照

c - 以前に受信した UART 値を表示する

これは、C に詳しい人なら誰でも簡単に答えられるはずです。変数 (マイクロコントローラーの UART (RS-232) の受信レジスター) の以前の値を LCD に表示したいと考えています。これは私の現在の実装であり、正常に動作します。しかし、割り込みルーチンに費やす時間を減らす方法があるかどうか知りたいです。現在、ペリフェラルは、UART フィードで新しい文字を 1 つ受信するとすぐに割り込みルーチンにジャンプするように構成されています。提案は誰ですか?

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

pointers - 循環バッファポインタの不規則性

これは、この質問のフォローアップです。以前に受信したUART値を表示します。

マイクロコントローラに循環バッファを実装した後、ポインタに問題があるようです。

RS-232で送信:ADE1234
受信(バッファ= 8):E24AE2 / E2AE24(2つの間を反転)受信(バッファ= 16):D234E1(Aはシンクロバイトであるためスキップされます)
受信(RX_BufSize = 32):DE1223 / DEE123 / DE1234 / DE12E1(ランダムに反転)
期待される受信:DE1234

初期化

LCDに表示されるデバッグ値

受信割り込み

ソースからの関数

Detect_Cmd_RXDは、1/256秒ごとに呼び出されます。その間、UART受信バッファで少なくとも7つの値が送信されます。

書き込みプロセスが非常に高速で、読み取りポインターに追いつく可能性はありますか?Detect_Cmd_RXDをより頻繁に呼び出す以外に、この問題を解決するにはどうすればよいですか?

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

ipad - UART を介した iPad アクセサリ通信

コマンドを iPad に転送する iPad/iPhone 用の新しいアクセサリを製造しています。UART を使用するのが好きです ( Lingoと呼ばれる特定の Apple プロトコルを介して)。私の調査によると、使用できるのは USB (30PIN コネクタ) とカスタム プロトコルのみです。

質問:

  • UART を使用して APP 側から iPad アクセサリに接続する方法はありますか?
  • プロトコルが UART で実装されている場合、USB 経由でアプリで使用できない場合は、USB に移動できるはずです。

私の主な推測では、UART コマンドとアクセスは iPhone OS 用に予約されたプロトコルであり、アプリでは使用できないということです。特定の UART コマンドには、ボリュームやオーディオの再ルーティングなどの設定も含まれているため、セキュリティで保護されていると思います。

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

c - uart バッファが読み取られない

Linux の C でシリアル デバイスからバイナリ データを読み込もうとしています。問題は、ドライバの内部バッファに char が存在することがありますが、(select(2) を使用して) ポーリングすると、デバイスを読み取る準備ができていないというメッセージが返されることです。

私はtermiosの男と関連するすべての人を読んで再読し、インターネットで検索しました。すべてのフラグ (つまり、VTIME、VMIN) を正しく設定し、ICANON の設定を解除したと思います。「tcmakeraw」という機能も試してみましたが、問題は解決しませんでした。

私が何をすべきかについて何か考えはありますか?

よろしくお願いいたします。

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

linux - UART の初期化: UART が RTS を高くプルしないようにします

Linux で ARM AT91SAM9260 ボード用の RS485 ドライバーを作成しています。

UART を初期化すると、RTS 信号線がハイ (1) になります。これは、RS232 操作モードの標準的な動作であり、そうあるべきだと思います。ただし、RS485 モードでは、これは望ましくありません。

arm-arch セクションが提供する標準関数を使用して、UART を初期化しています。したがって、重要な手順は次のとおりです。

ご覧のとおり

at91_set_B_periph(AT91_PIN_PC8, 0);

RTS ピンのプルアップはアクティブになりません。

  • UART が RTS を高く設定するのはなぜですか? これが RS232 モードの標準的な動作であるという理由だけでしょうか?


  • 動作モードが明示的に設定されるまで、UART が沈黙を保つことがより良い標準ではないでしょうか?

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

linux - Linux UART ドライバーの変更

Linux カーネル (2.6.32) の UART ドライバーを変更したいと考えています。正確なファイルがわからない ttyS2 の標準 uart ドライバーを使用しています。問題は単純で、送信中および受信中は gpio ピンを高く設定して維持し、それを低くする必要があります。

どのファイルを参照すればよいですか? そして、uart ドライバーからのビットバンギング gpio に関するアイデアは大歓迎です...

よろしく。

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

c - C on ARM - UART 受信待ち

関数を自分の目的に合わせてより適切に変更しようとしています。

上記のコードは、シリアル ポート 0 で文字が受信されるまで関数をハングさせ、それを返します。そのようにwhileループを使用して呼び出していました。

そのため、シリアルポートを介してリターンキャリッジが受信されるまで待機し、これがバッファにコピーされる前の各文字が表示されます。今、私の問題です。現在、データの読み取りに問題があり、どこに問題があるのか​​ を判断できません.どちらの方法でも、改行または改行が正しく認識されていませんが、一部の出力で検出されています! 完了したらすべてをファイルに保存しているので、これはわかっていますが、これを行うには、 while ループで ai!=5 を使用し、5 文字を読み取るだけです。20にすると、再びハングし、他に何も読み取っていないように見えます(uart経由でデータを送信しているにもかかわらず)

X時間読み取り、残りの機能を続行するように変更する方法はありますか?

編集:

編集2:

わかりました、これはユーザー入力を読み取るために私が書いた関数です。

そしてそれはそのように呼ばれます。

よく呼ばれますが、これは私の呼び方の一例です。次に、これをファイルに出力すると、100% の確率で動作します。

問題全体を説明するのにおそらく役立つでしょう。シリアル ポート (RX および TX) にワイヤレス モジュールが接続された ARM ボードがあります。上記の readInput 関数は、ワイヤレス モジュールに telnet 接続したユーザーからの入力を読み取るために使用され、ARM ボードがユーザーからのすべての入力を読み取れるようにします。私が今達成しようとしているのは、コマンドを実行した後にワイヤレスモジュールからの入力を読み取ることです。printf ステートメントを使用すると、コマンドをステートメントに入れることでコマンドを実行できます。私が達成する必要があるのは、ワイヤレス モジュールからの出力を読み取ることです。ここで問題が発生します。私はいくつかの出力を取得していますが、それは非常に限られており、期待したものではありませんが、明らかにモジュールからのものです。

0 投票する
3 に答える
1044 参照

avr-gcc - USARTからの入力を取得できません-FreeRTOS-AT32UC3A0512

FreeRTOSを試してみてください。以下は私の設定です-

  1. マイクロコントローラー-AT32UC3A0512
  2. ボード-EVK1105
  3. FreeRTOSの使用
  4. 環境-ASF最新2.3フレームワークを備えたAVRStudio5

サンプルプロジェクトFreeRTOSから新しいプロジェクトを作成しました。現在USARTをチェックしています。サンプルプロジェクトを実行すると、USARTを介して開発ボードからPCに文字を送信できますが、PCのusartターミナルプログラム(Puttyを使用)で何かを入力または入力すると、何も表示されません。誰かが何が間違っているのか提案できますか?または、USARTのターミナルプログラムで入力と表示を行うために、現在のサンプルコードのコードを変更する必要がありますか?

ありがとう...

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

linux - 読み取り/書き込み操作中に tty ドライバーが UART ドライバーと対話する方法は?

SDIO UART ドライバの修正/開発に取り組んでいます。
そして知りたい:

読み取り/書き込み操作中に tty ドライバーが UART ドライバーと対話する方法は? バッファ管理に興味があります。

ネットで検索しましたが、必要な情報が見つかりませんでした。
誰かがこれに光を当てることができますか?

前もって感謝します。

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

linux - ドライバー内からドライバーを使用する Linux

Linux ボックスから RS232 シリアル経由でマイクロコントローラに接続しようとしています。

ドライバーを作成し、プロトコル b/n pc とマイクロコントローラーを実装しました。これは、カーネルに既に存在する tty(/dev/ttyS0) デバイスをモジュールとして使用します (たとえば、open、close などの呼び出しを介して)。ただし、コンパイルしようとすると、開く、書き込み、読み取りなどへの参照が見つからないと表示されます...

ドライバー内から既存のデバイス ドライバーを使用するにはどうすればよいですか? 他に含める必要があるものはありますか?

そうでない場合、ドライバ内から簡単にシリアル ポートを使用するにはどうすればよいですか?