chengongp 发表于 2013-2-18 22:14:46

蓝牙串口通信的问题!

代码如下:


int val;//定义变量val
int ledpin=13;//定义数字接口13
void setup()
{
Serial.begin(9600);//设置波特率为9600,这里要跟软件设置相一致。当接入特定设备(如:蓝牙)时,我们也要跟其他设备的波特率达到一致。
pinMode(ledpin,OUTPUT);//设置数字13 口为输出接口,Arduino 上我们用到的I/O 口都要进行类似这样的定义。
}
void loop()
{
val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
if(val=='r')//判断接收到的指令或字符是否是“R”。
{//如果接收到的是“R”字符
digitalWrite(ledpin,HIGH);//点亮数字13 口LED。
delay(100);
digitalWrite(ledpin,LOW);//熄灭数字13 口LED
delay(100);
Serial.println("Hello World!");//显示“Hello World!”字符串
}
}

为什么录入r后,无返回信息?






2560跟扩展板连接

TX ---RX0 RX---TX0

yyy_zc 发表于 2013-2-18 22:57:38

val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
超时就跑了
要加一句
if serial.available()
{
val=Serial.read()
.......
}

====先不用兰芽,直接调试通过后再接兰芽==

pww999 发表于 2013-2-18 23:00:27

char val?字符类型?》?

gaoshine 发表于 2013-2-18 23:00:45

你把 val=Serial.read() 读到的数据 显示出来看看 看看你发送的字节是 asc码 还是 16进制的。
另外 我通过Amarino 非常简单实现安卓下和Arduino的通讯,你可以参考http://www.amarino-toolkit.net

chengongp 发表于 2013-2-18 23:02:43

yyy_zc 发表于 2013-2-18 22:57 static/image/common/back.gif
val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
超时就跑了
要加一 ...

不接蓝牙 打印没问题!在电脑串口上正常

chengongp 发表于 2013-2-18 23:04:17

gaoshine 发表于 2013-2-18 23:00 static/image/common/back.gif
你把 val=Serial.read() 读到的数据 显示出来看看 看看你发送的字节是 asc码 还是 16进制的。
另外 我通过 ...

您有没有简单点的Amarino 的例子 发一份我!
[email protected]
非常感谢!

quqianghao 发表于 2013-2-19 00:16:56

官方上 2560 定义的串口针脚
Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15 (RX) and 14 (TX). Used to receive (RX) and transmit (TX) TTL serial data. Pins 0 and 1 are also connected to the corresponding pins of the ATmega16U2 USB-to-TTL Serial chip.
看下你接的是串口几就使用哪个串口进行读取

chengongp 发表于 2013-2-19 09:14:47

quqianghao 发表于 2013-2-19 00:16 static/image/common/back.gif
官方上 2560 定义的串口针脚
Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 ( ...

非常感谢您的回复!我晚上再试试!

yyy_zc 发表于 2013-2-19 09:56:43

蓝牙与板间的接线,rx tx 交叉,换一下线

chengongp 发表于 2013-2-19 10:11:25

yyy_zc 发表于 2013-2-19 09:56 static/image/common/back.gif
蓝牙与板间的接线,rx tx 交叉,换一下线

交叉了。。。。。。。。。。。接的是RX0 TX0

chengongp 发表于 2013-2-19 21:20:14

刚才又试了一次!连接了 RX0 TX0.
RX1 TX1
RX2 TX2
RX3 TX3
而且拆下了扩展板 直接用2560 连接蓝牙也不行。。有哪个高人告诉下我究竟怎么回事吗 ?

chengongp 发表于 2013-2-19 21:26:45

yyy_zc 发表于 2013-2-18 22:57 static/image/common/back.gif
val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
超时就跑了
要加一 ...

按照您的方法试了还是不行!

chengongp 发表于 2013-2-19 21:27:51

gaoshine 发表于 2013-2-18 23:00 static/image/common/back.gif
你把 val=Serial.read() 读到的数据 显示出来看看 看看你发送的字节是 asc码 还是 16进制的。
另外 我通过 ...

刚试了 电脑上打印出来是小写的r.没问题 为什么接了蓝牙后 没效果呢?

zhanghuipz 发表于 2013-6-18 17:06:56

你好,这个问题你解决了吗?我最近也遇到这个问题了,蓝牙HC-06模块可以接收16进制数,但不能接收字符?这让我很纳闷
页: [1]
查看完整版本: 蓝牙串口通信的问题!