极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 26437|回复: 10

求助!SoftwareSerial乱码

[复制链接]
发表于 2014-8-6 17:10:52 | 显示全部楼层 |阅读模式
本帖最后由 楼小主 于 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());
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-8-6 17:32:05 | 显示全部楼层
串口波特率对吗?
回复 支持 反对

使用道具 举报

发表于 2014-8-6 18:29:38 | 显示全部楼层
回复的,到位。{:soso_e179:}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-7 11:56:21 | 显示全部楼层
kevinzhang 发表于 2014-8-6 17:32
串口波特率对吗?

都换过了,一样还是乱码
回复 支持 反对

使用道具 举报

发表于 2014-8-7 14:20:04 | 显示全部楼层
請說明你的硬件是如何連線?  
如果是把軟串口接到硬串口測試, 就要把 波特率 設成一樣.
如果是用兩張卡連接測試, 就把連線的兩邊的波特率設成一樣.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-7 14:38:46 | 显示全部楼层
Super169 发表于 2014-8-7 14:20
請說明你的硬件是如何連線?  
如果是把軟串口接到硬串口測試, 就要把 波特率 設成一樣.
如果是用兩張卡連 ...

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

使用道具 举报

发表于 2014-8-7 15:21:28 | 显示全部楼层
{:soso_e117:}{:soso_e117:}{:soso_e117:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-7 15:31:40 | 显示全部楼层
kevinzhang 发表于 2014-8-7 15:21

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

使用道具 举报

发表于 2014-8-7 16:46:31 | 显示全部楼层
楼小主 发表于 2014-8-7 14:38
sim900a连接着arduino,占用着硬件串口。
我是想看sim900a发回来的回复,如果我print在硬件串口上,这个 ...

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

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

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-8 08:46:48 | 显示全部楼层
Super169 发表于 2014-8-7 16:46
即是把 軟串口 接到 硬串口 吧.

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

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

使用道具 举报

发表于 2014-8-8 09:02:18 | 显示全部楼层
楼小主 发表于 2014-8-8 08:46
我现在是arduino rx(0)-> sim900a txd
             arduino tx(1)-> sim900a rxd
             arduin ...


Arudino UNO 的 USB, 用的就是 pin 0, 1, 亦即是說, 你把 arduino 的硬件串口, 同時連上兩個 devices 了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 19:32 , Processed in 0.084978 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表