2017-12-19 11 views
-2

私はESPのRxピンをMega's Pin 6に接続したESPのTxピンに接続して、Arduino Megaを通じてESP8266モジュールと通信しようとしています。SoftSerial Not Working ESP8266

#include <SoftwareSerial.h> 

SoftwareSerial esp8266(6, 7); 

void setup() { 
// Open serial communications and wait for port to open: 
Serial.begin(115200); 
while (!Serial) { 
    ; // wait for serial port to connect. Needed for native USB port only 
} 

    Serial.println("Started"); 

// set the data rate for the SoftwareSerial port 
esp8266.begin(9600); 
esp8266.write("AT\r\n"); 
} 

void loop() { 
if (esp8266.available()) { 
    Serial.write(esp8266.read()); 
} 
if (Serial.available()) { 
    esp8266.write(Serial.read()); 
} 
} 

私はESP8266モジュールから何の応答も得られません。私はその後、Megaの専用のTxピンとRxピン(それぞれ1と0)を使用しようとしました。私はシリアルモニタを使ってコマンドを送ることができ、それは応答します。最初にAT+CIOBAUD=9600を115200ボーの下で送って私のESPモジュールのボーレートを9600に変更しました。そして、9600ボーの下で私はAT+UART_DEF=9600,8,1,0,0を送りました。それは両方とも期待通りにOKと答えた。私はこのプログラムを実行しようとしましたが、私はまだESP 8266モジュールから応答がありません。私はまた、単に安全のためにRxピンとTxピンを単に切り替えることを試みました。まだ動作しません。私が間違って何をしているのかについてのアイデアはありますか?

+0

@Billaはい、それは 'Started'を表示しますが、何も返答しません。 – foobar5512

+0

@Billa動作していないようです。 – foobar5512

+0

この質問は、https://arduino.stackexchange.com – user902383

答えて

0

コメントで述べたように、SoftwareSerial esp(6,7)UNOで動作しますが、Megaでは動作しません。それは、Arduino SoftwareSerialの参照ページ、特に制限セクションをGoogleに十分に示唆しているはずです。

つまり、UNOとは異なり、Megaにはすべてのピンでピン変更割り込み機能がありません。だから、ピン6にRxピンを持つことはできません。