Arduinoのサンプルコードでソフトウェアシリアルをしましたが、文字化けします
漢字コードも接続方法もUSBシリアルRX,TXのArduinoRX,TXは11,10です。
文字はTeraTermで
g恰YY渊
と出てきました。
コードは下に示します。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10,11); //RX,TX
void setup() {
Serial.begin(115200);
Serial.println("Ready");
mySerial.begin(9600);
mySerial.println("12345");
}
void loop() {
if(mySerial.available()) Serial.println(mySerial.readString());
if(Serial.available()) mySerial.println(Serial.readString());
}
Serialの方を消すとどうなりますか
変わらないです
ボーレート4800に落とすとどうですか?
変わらない結果です…上に書いたのと同じ文字がでます…
超小型USBシリアル変換モジュールをUSBコードで取得は出来ないのでしょうか。COMポートでなければ出来ないのでしょうか。
USBコードとはなんですか?
USBコードとPCとUSBシリアル変換モジュールを繋いでいます
ケーブルのことですね?それは関係ないかと。
そうです…他に原因があるとしたら何があるのでしょうか…
Teraterm側の接続設定とかですかね、ボーレートとかパリティビットとか、あとはドライバとか、接続とか
ボーレートとビットは一通り確かめましたが直りませんでした…パリティも変更した方が良いでしょうか。またドライバはどのようなことを変えれば良いでしょうか。申し訳ありません。よろしくお願いします
Teraterm側の文字コードの設定とか? メニュー→端末→漢字-受信の設定を変えたら直ったりしませんかね。
設定は全て変えましたが、ダメでした。シリアル変換モジュールの通勤確認をしたのですが、(シリアル変換モジュールをPCと接続し、文字コードをSJISにし、シリアルポートを19200.none.8ビット.none.1ビット.xon/xoffにして、エンターキーを押しましたが、ドルマークが出てきませんでした。通信確認が出来ていない場合はどのようなことをすれば良いでしょうか
私が無知なだけかもしれないんですが、正常ならエンターキー押してドルマーク返ってくるんですか?
そのテスト手法はそのサイトの製品のテスト方法で一般的なものではありません。
モジュールをArduinoから外して、TxRxを互いに直結し、PCに接続、Teratermで送信した文字列がそのまま返ってきますか?
テラタームから文字を打ち込むことが出来ないです…RS232Cケーブルを使用してないことが原因ですかね…??
COMポート番号あってますか?windowsならデバイスマネージャを見ながらモジュールを抜き差ししてください
自分で設定したものになっています。ポートとUSBケーブルの両方のCOMポートを一緒にしないといけないのでしょうか。
RS232Cケーブルを挿せるPCが今ではレアだからこういう変換モジュールが存在しているんです。USBケーブルじゃ通信できないとなったらそのモジュールの存在意義がなくなるので、そこは大丈夫です。
モジュールを(USBケーブル経由で)PCに接続すると、PCがモジュールにCOMポート番号を自動で割り当てるので、その番号をteratermで指定して接続してください。
わかりました。ありがとうございます。もう一度接続してその番号にするということでしょうか。
とりあえずやってみてください
ダメでした…
回答1件
あなたの回答
tips
プレビュー