楼小主 发表于 2014-8-6 17:10:52

求助!SoftwareSerial乱码

本帖最后由 楼小主 于 2014-8-6 17:17 编辑

用的arduino uno,只有一个硬件串口,已经占用了。

想用SoftwareSerial print 硬件串口上接收到的回复数据。

用的就是arduino 官方的示例代码,但是print出来的都是乱码

求救啊!!



#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
//打开串行通信,等待端口打开:
Serial.begin(57600);
while (!Serial) {
    ; // 等待串口连接。Needed for Leonardo only
}


Serial.println("Goodnight moon!");

// 设置串口通讯的速率
mySerial.begin(4800);
mySerial.println("Hello, world?");
}

void loop() // 循环
{
if (mySerial.available())
    Serial.write(mySerial.read());
if (Serial.available())
    mySerial.write(Serial.read());
}

kevinzhang 发表于 2014-8-6 17:32:05

:(串口波特率对吗?

Paderboy 发表于 2014-8-6 18:29:38

回复的,到位。{:soso_e179:}

楼小主 发表于 2014-8-7 11:56:21

kevinzhang 发表于 2014-8-6 17:32 static/image/common/back.gif
串口波特率对吗?

都换过了,一样还是乱码

Super169 发表于 2014-8-7 14:20:04

請說明你的硬件是如何連線?
如果是把軟串口接到硬串口測試, 就要把 波特率 設成一樣.
如果是用兩張卡連接測試, 就把連線的兩邊的波特率設成一樣.

楼小主 发表于 2014-8-7 14:38:46

Super169 发表于 2014-8-7 14:20 static/image/common/back.gif
請說明你的硬件是如何連線?
如果是把軟串口接到硬串口測試, 就要把 波特率 設成一樣.
如果是用兩張卡連 ...

sim900a连接着arduino,占用着硬件串口。
我是想看sim900a发回来的回复,如果我print在硬件串口上,这个回复又发回给sim900a了。
所以看了有个软件串口,想把回复print到软件串口上。
求教啊,怎么弄?

kevinzhang 发表于 2014-8-7 15:21:28

{:soso_e117:}{:soso_e117:}{:soso_e117:}

楼小主 发表于 2014-8-7 15:31:40

kevinzhang 发表于 2014-8-7 15:21 static/image/common/back.gif


速率设置一样后还是不行,软串口现在根本没反应

Super169 发表于 2014-8-7 16:46:31

楼小主 发表于 2014-8-7 14:38 static/image/common/back.gif
sim900a连接着arduino,占用着硬件串口。
我是想看sim900a发回来的回复,如果我print在硬件串口上,这个 ...

即是把 軟串口 接到 硬串口 吧.

那你的 sim900a 用 USB 連線? 豈不是 硬件串口 同時連接了 sim900a 及 軟串口 了?

楼小主 发表于 2014-8-8 08:46:48

Super169 发表于 2014-8-7 16:46 static/image/common/back.gif
即是把 軟串口 接到 硬串口 吧.

那你的 sim900a 用 USB 連線? 豈不是 硬件串口 同時連接了 sim900a 及 ...

我现在是arduino rx(0)-> sim900a txd
             arduino tx(1)-> sim900a rxd
             arduino GND-> sim900a GND
arduino usb 连接电脑。
软串口需要额外连线吗?

Super169 发表于 2014-8-8 09:02:18

楼小主 发表于 2014-8-8 08:46 static/image/common/back.gif
我现在是arduino rx(0)-> sim900a txd
             arduino tx(1)-> sim900a rxd
             arduin ...

Arudino UNO 的 USB, 用的就是 pin 0, 1, 亦即是說, 你把 arduino 的硬件串口, 同時連上兩個 devices 了.
页: [1]
查看完整版本: 求助!SoftwareSerial乱码