目录
3、如何用Arduino 对JDY-40设置参数(其他单片机也可参考,需要自己写代码)?
1、如何与单片机(串口模块)连接?
(请忽略我的灵魂焊接)
arduino是从串口下载程序的,所以在代码没下载好的时候别将无线模块连接arduino,不然会下载失败。
串口那边接一个开关是为了方便从AT指令模式调成透传模式。
切记不要连接5V,有烧掉的风险。
2、如何在USB转串口模块调试?
将无线模块的SET引脚拉低,随便找个串口助手,选定波特率9600,勾上回车选项,打开发送AT指令
以上的指令表只是部分指令,需要完整指令可以到这里下载我上传的PDF文件(只需关注我。。。。)https://download.csdn.net/download/m0_55733070/15547698。
3、如何用Arduino 对JDY-40设置参数(其他单片机也可参考,需要自己写代码)?
将以下代码烧录到arduino,再按照上面说的 接法连接好。(注意,先别链接ARduino和模块,不然代码无法烧录,有经验的都知道)
void setup() {
Serial.begin(9600);//设置波特率
pinMode(3,OUTPUT);//开启控制SET引脚电平的IO口
digitalWrite(3,LOW);//拉低,进入AT设置指令
delay(300);
Serial.println("AT+CLSSA0");//发送AT指令,设置成默认透传模式
delay(300);
digitalWrite(3,HIGH);//拉高SET引脚电平,进入透传模式
}
String comdata = "";
void loop() {
while (Serial.available() > 0) //获取串口数据
{
comdata += char(Serial.read());//保存
delay(2);
}
if (comdata.length() > 0) //查看串口是否获得数据
{
Serial.print(comdata);
comdata = "";
}
}
烧录后重启板子,可以看到串口的打印信息。
这说明,设置成功了
4、两个模块之间如何通信(透传)?
上面已经将两个模块分别设置好了,在发送完AT指令后,将SET引脚都拉高后,直接在串口对着模块发送字符串就可以在另一个模块上接收到了。
(指令直接默认透传就无需设置,如果自己改了参数,另一个模块的参数也要改成一样的)
5、有没有什么需要注意的?
(1)如果在你使用串口模块连接JDY-40时,出现了持续接收到空字符串(hex格式0x00),那是正常的,这是因为另外一个模块没有准备好,出现乱码。
(2)出现在串口调试助手上显示的返回的字符串不符,少了或者多了,这无需在意,这个原因在于你的串口模块和串口调试助手,只要单片机上显示的字符串完整即可。