問題タブ [software-serial]
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.
arduino - Arduino Yun とソフトウェアのシリアル エラー
nrf24L01 モジュールを arduino yun に接続しようとしていますが、出力が意味不明です。
これは私のコードです:
これは出力です:
そのはず:
数字はわかりませんが、文字はわかります
arduino - ArduinoソフトウェアシリアルがSPIと衝突?
SPI経由でnRF24l01 +無線モジュールを使用しているArduinoプロジェクトがあります(このライブラリを使用:http://tmrh20.github.io/RF24/)およびソフトウェアシリアル経由のRFIDリーダー。私はArduinoをスリープ状態にして、メッセージを受信したとき、またはRFIDタグを読み取る準備ができたときに、割り込みを介してArduinoを目覚めさせます。RFID はピン 4 と 5 にあり、nRF はピン 9 ~ 13 と割り込み用の番号 2 をカバーします。
これらのモジュールは両方とも、スリープ コードと割り込みコードを別々に使用すると正常に動作しますが、1 つのスケッチに組み合わせると、Arduino は RFID タグにより起動し、それを読み取り、無線で何かを送信しようとして、ハングします。 write() へのライブラリ呼び出しが戻るのを待っています。
2 つのライブラリについて少し掘り下げましたが、ほとんどの場合、softwareserial ライブラリの頭も尻尾もわかりません。私の nRF モジュールと同じ ISR を舞台裏で使用しているようですが、なぜそれが大きな問題になるのかすぐにはわかりません。また、無線がハングする理由もわかりません。
私はそれがロングショットかもしれないことを知っていますが、誰かが何が起こっているのか知っていますか? 多分誰かがこれらのライブラリを知っていますか?回避策について何か考えはありますか?ありがとう。
arduino-uno - Arduino ソフトウェアのシリアル ライブラリが動作しない
Arduino Uno 用の非常に単純なコードがあります。SoftwareSerial lib を使用します。
rxPin と txPin は互いに直接接続されています。Arduino も USB 経由で PC に接続されています。mySerial.available() ループから応答がありません。mySerial.read() は -1 を返します。誰が知っていますか、どこに問題があるのでしょうか? SoftwareSerial が機能しません。
arduino - SoftwareSerial の例が期待どおりに機能しない
最近、スマート メーターから出力されたデータを読み取るために Arduino UNO を購入しました。メーターはシリアル通信を使用しており、ラップトップの画面に出力される値を確認したいと考えています。SoftwareSerial ライブラリを使用して着信データを読み取り、そのデータをハードウェア シリアルと Arduino IDE のシリアル モニターを使用して画面に出力する必要があると考えました。Arduino での (ソフトウェア) シリアル通信に慣れるために、SoftwareSerial ライブラリのドキュメントを確認しました。問題は、最も基本的な例を機能させることができず、かなり長い間これに固執していることです。サンプル コードは以下のとおりです。例はここにあります。
私が理解している限りでは、次のことが起こるはずです: - シリアル モニタ ウィンドウにテキストを入力します。-Serial.read()
このデータを読み取り、ソフトウェア シリアルに書き込みます。- ソフトウェア シリアルはこのデータを読み取り、シリアルに書き戻します。- 書いたものが画面に表示されます。
しかし、私が何をしようとしても、何も起こりません。私が従おうとしたものの中で: - ソフトウェアとハードウェアの両方のシリアルのボーレートを変更します (たとえば 9600)。- 別の SoftwareSerial ライブラリ (AltSoftSerial) を試しました。- SoftwareSerial の異なる RX および TX ピンを試しました。- の代わりにSerial.write(mySerial.read());
、char
最初に結果を格納します。
私はおそらく明らかな何かを見逃しています。これに光を当てることができる人、またはスマートメーターからデータを読み取る別の方法を提供できる人に感謝します.
編集
例では「この例には回路がありません」と指定されていたため、配線はありませんでした。@slash-dev によって提案された 3 つのオプションをすべて試しましたが、期待どおりの動作をするものはありませんでした。
SoftwareSerial
ピン 1 をピン 10 に、ピン 0 をピン 11 に接続するワイヤを使用します。奇妙な文字が出力されます。
AltSoftSerial
1-8 と 0-9 を接続するワイヤー付き。最初に印刷Goodnight moon!
し、次に印刷を続けますÔ당¥�¡Ñ�moon!
。
NeoSWSerial
1-10 と 0-11 を接続するワイヤー付き。と同じですAltSoftSerial
が、印刷を続けますÔë‹–+ë¡Ñ�j½½¹…j
。
arduino - Arduino関数実行時間
私は Arduino と APC220 ワイヤレス トランシーバーを持っています。SoftwareSerial クラスを使用して APC からデータを読み込むライブラリを作成しています。i
私はもともと、読み取り可能なデータがない場合でも変数がインクリメントされるため、セグ フォールトを引き起こしていた以下の (間違った) コードから始めました。たまたま機能した場合 (たまたまデータがすぐに利用可能になった場合)、この関数の実行には約 6 ミリ秒かかりました。i++;
ステートメントを適切な場所 (すぐ上の右中括弧の上) に配置すると、関数の実行に 270 ミリ秒以上かかります。この関数には速度が重要なので、このような劇的な時間の増加を引き起こすステートメントの配置についてはどうなのか疑問に思っています。
以下のコードでは、buff
は as として宣言されchar buff[10];
、sSerial は のインスタンスです。SoftwareSerial
avr - SoftwareSerial が Atmega128 で動作しない理由
インストールして使い始めたばかりの Atmel Studio 7 でプログラムを書いています。Arduino 用のスタジオをセットアップし、サポートされているチップのライブラリに Atmega128 を追加しました。すべてが良いです。SoftwareSerial ライブラリを使用してコンパイルしようとすると、Atmega128 と Atmega64 は SoftwareSerial をサポートしていないというエラーが表示されます。どうしてこれなの?このAVRがatmega328などと大きく異なる点は、ライブラリをサポートしないことです. atmega128でSoftwareSerialまたはSoftUartを使用するためのより良いアプローチはありますか? ありがとう
arduino - ソフトウェアのシリアルの問題
私は Genuino101 ボードと HM-11 モジュールを持っています。名前などのモジュールのパラメーターを設定しようとしています。そのため、単純なコードから始めましたが、機能しません。ご覧のとおり、私のシリアル モニタには "SETUP 1" と "SETUP 2" が表示されるはずです。しかし、これは私のシリアルモニターが示すものです。
SETUP 1
「SETUP 2」は表示または印刷されませんでした。したがって、問題はその間にあると推測しています。私はコメントアウトしようとしmySerial.begin(4800);
ましたが、これを見ました。
を削除したことを除いて、正常に動作しmySerial.begin(4800)
ます。
これはソフトウェアのシリアルの問題ですか? ボーを 9600 に変更してみましたが、それでも問題が発生します。mySerial.begin(4800)
arduinoを一時停止するように見えます。助けてください。
編集:
問題は、RX/TX ピンが入れ替わったために発生したソフトウェア シリアルの初期化エラーにより、コードが途中で一時停止したことでした。この問題は、RX/TX ピンを交換した後、自動的に修正されました。