蓝牙串口通信的问题!
代码如下: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
val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
超时就跑了
要加一句
if serial.available()
{
val=Serial.read()
.......
}
====先不用兰芽,直接调试通过后再接兰芽== char val?字符类型?》? 你把 val=Serial.read() 读到的数据 显示出来看看 看看你发送的字节是 asc码 还是 16进制的。
另外 我通过Amarino 非常简单实现安卓下和Arduino的通讯,你可以参考http://www.amarino-toolkit.net
yyy_zc 发表于 2013-2-18 22:57 static/image/common/back.gif
val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
超时就跑了
要加一 ...
不接蓝牙 打印没问题!在电脑串口上正常 gaoshine 发表于 2013-2-18 23:00 static/image/common/back.gif
你把 val=Serial.read() 读到的数据 显示出来看看 看看你发送的字节是 asc码 还是 16进制的。
另外 我通过 ...
您有没有简单点的Amarino 的例子 发一份我!
[email protected]
非常感谢! 官方上 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.
看下你接的是串口几就使用哪个串口进行读取 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 ( ...
非常感谢您的回复!我晚上再试试! 蓝牙与板间的接线,rx tx 交叉,换一下线 yyy_zc 发表于 2013-2-19 09:56 static/image/common/back.gif
蓝牙与板间的接线,rx tx 交叉,换一下线
交叉了。。。。。。。。。。。接的是RX0 TX0 刚才又试了一次!连接了 RX0 TX0.
RX1 TX1
RX2 TX2
RX3 TX3
而且拆下了扩展板 直接用2560 连接蓝牙也不行。。有哪个高人告诉下我究竟怎么回事吗 ? yyy_zc 发表于 2013-2-18 22:57 static/image/common/back.gif
val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
超时就跑了
要加一 ...
按照您的方法试了还是不行! gaoshine 发表于 2013-2-18 23:00 static/image/common/back.gif
你把 val=Serial.read() 读到的数据 显示出来看看 看看你发送的字节是 asc码 还是 16进制的。
另外 我通过 ...
刚试了 电脑上打印出来是小写的r.没问题 为什么接了蓝牙后 没效果呢? 你好,这个问题你解决了吗?我最近也遇到这个问题了,蓝牙HC-06模块可以接收16进制数,但不能接收字符?这让我很纳闷
页:
[1]