无名小子 发表于 2014-9-17 21:40:30

蓝牙模块的简单实验!!

加上蓝牙模块的简单代码
void setup()
{
Serial.begin(9600);
pinMode(9,OUTPUT);
}
void loop()
{int num=0;
    num=Serial.available();
    if(num==1)
   digitalWrite(9,HIGH);
    if(num==2)
   digitalWrite(9,LOW);   
   }
9阵脚接led,我输入1,灯亮;我输入2,灯灭;让我差异的是,我在按1,就没反应!!!
求助!!

PPeach 发表于 2014-9-17 22:52:21

ASCII码的1,不是数字1,所以应该是'1'

i7456 发表于 2014-9-18 11:01:47

num=Serial.available();
这个是串口缓冲区中字符的个数,
你每次发一个字符,第一次发的不管是哪个字符,灯都会亮,
第二次不管发的是什么字符,灯都会灭。
再发字符,num的值就大于等于3了,灯当然就不会再亮了。

无名小子 发表于 2014-9-18 12:27:25

PPeach 发表于 2014-9-17 22:52 static/image/common/back.gif
ASCII码的1,不是数字1,所以应该是'1'

我用蓝牙串口通信助手发送的,应该是数字1,因为我把它改成‘1’,一直发送几十个才点亮!!
楼下的应该是对的!!!

无名小子 发表于 2014-9-18 12:44:54

PPeach 发表于 2014-9-17 22:52 static/image/common/back.gif
ASCII码的1,不是数字1,所以应该是'1'

又实验了一下,的确是函数用错了,应该是Serial.read(),你说的是对的!!
页: [1]
查看完整版本: 蓝牙模块的简单实验!!