极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: Angel.Nearly

新人求助,多次测试无解。希望论坛的各位大神指点

[复制链接]
 楼主| 发表于 2013-7-18 16:02:29 | 显示全部楼层
拾瑞 发表于 2013-7-18 15:40
你用的UNO吧?是不是只有一个串口?兰牙模块是不是接在这唯一的串口上了?


是UNO,只接了蓝牙模块。没有其他的接口
回复 支持 反对

使用道具 举报

发表于 2013-7-18 16:24:30 | 显示全部楼层
我说你程序有问题你偏不信!

1,你定义的一个字符型娈量 val但没有给确定的值,即使你不给值,系统仍然会自己定义一个值的。
2,void loop(){
  val=Serial.read();
  Serial.println(val);
  if(val=='q'){
    Serial.println("OK");

你自己看这个LOOP,里面有一句 Serial.println(val);当然相应的功能就是不论你串口有没有数据,无休止地给你输出VAL么!!!!!

3,你想要做测试的话,至少要把这个程序好好重写,至少在程序中要有,串口缓存是不是到达了数据要做判断的,有了数据才去读回啊......

4,用ARDUINO的串口监视器观察的话,可能会和兰牙有冲突的,你只有一个串口,稳重一点办法是增加一个软串口......
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-18 17:02:36 | 显示全部楼层
拾瑞 发表于 2013-7-18 16:24
我说你程序有问题你偏不信!

1,你定义的一个字符型娈量 val但没有给确定的值,即使你不给值,系统仍然会 ...

首先,感谢你的回答。但是这个代码是为了测试蓝牙的接收值的。你说这个代码有问题我觉得讲得过去,但是你说本来我做LED的那个代码有问题,那么网上也有人做同样的LED试验,他们用同样的代码怎么没问题呢?
回复 支持 反对

使用道具 举报

发表于 2013-7-19 09:37:27 | 显示全部楼层
你怎么知道人家成功了呢?
回复 支持 反对

使用道具 举报

发表于 2013-7-19 19:29:50 | 显示全部楼层
Angel.Nearly 发表于 2013-7-18 09:06
这样写没问题吧

但是这样在蓝牙无论有没有连接上都是这样

1、原来只有一个串口,怪不得用电脑串口软件模拟蓝牙发送命令的时候,电脑串口软件和手机串口软件都会显示“LED ON”这些,我理解的都显示没问题吧?
2、在arduino判断接收的命令之前,最好先有一个while (Serial.available() > 0) ,这个是判读串口是否接收到数据,这样比较严谨。
3、如果加上第二条的while了,再补上一个else情况,串口打印出“error”,看看这样打印会有什么效果。从第一条来看,arduino和手机串口的波特率是匹配的,那就能在手机上打印出“error”来。如果是这样,那就是接收程序需要改进了。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-19 21:17:40 | 显示全部楼层
拾瑞 发表于 2013-7-19 09:37
你怎么知道人家成功了呢?

有人跟帖回复
回复 支持 反对

使用道具 举报

发表于 2013-7-27 16:01:24 | 显示全部楼层
蓝牙串口和arduino串口冲突了,试试在其他引脚新建一个软串口即可
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-27 18:40:03 | 显示全部楼层
Ansifa 发表于 2013-7-27 16:01
蓝牙串口和arduino串口冲突了,试试在其他引脚新建一个软串口即可

能说一下具体怎么做嘛?如果方便的话我想加你的QQ,不知道可以吗?
回复 支持 反对

使用道具 举报

发表于 2013-7-27 23:30:07 | 显示全部楼层
Angel.Nearly 发表于 2013-7-27 18:40
能说一下具体怎么做嘛?如果方便的话我想加你的QQ,不知道可以吗?

你打开arduino自带的例子SoftwareSerialExample
然后根据里面说的:
The circuit:
* RX is digital pin 10 (connect to TX of other device)
* TX is digital pin 11 (connect to RX of other device)

就是蓝牙的TX接10脚,RX接11脚。即可通信。
QQ150308625
回复 支持 反对

使用道具 举报

发表于 2013-7-29 20:53:00 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2013-7-30 21:19:29 | 显示全部楼层
我知道了,谢谢Ansifa大神。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 14:17:50 | 显示全部楼层
Ansifa 发表于 2013-7-27 23:30
你打开arduino自带的例子SoftwareSerialExample
然后根据里面说的:
The circuit:

谢谢,问题已经确认解决。之前没网络所以确认晚了,希望不要介意
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-6-4 00:27 , Processed in 0.068890 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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