找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

JDY-23蓝牙模块单片机串口发送at指令返回结束错误

查看数: 7302 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-9-10 18:51

正文摘要:

大佬们 最近做项目设计 选用了JDY-23的蓝牙模块 在单片机和蓝牙模块的数据传输上碰了灰。我在串口助手上发送AT+SLEEP2(深度休眠),蓝牙模块会进入休眠 此时手机是搜不到蓝牙的,而在单片机上我也往串口里发送数据 ...

回复

ID:922670 发表于 2021-9-28 14:15
已解决 是延迟
ID:922670 发表于 2021-9-13 17:17
yzwzfyz 发表于 2021-9-11 08:50
两种方式发出的数据,不发给蓝牙,改发给你能收到信息的东东,对比一下信息有何差异,答案就有了。

大佬 我后续测下来 发现有些指令是可以有正常返回值和作用的 但是AT+SLEEP2的指令单片机发送还不行,同样的还有AT+SLEEP、AT+ADVIN共同点我发现是AT后面超过5位就都失效(不包括\r\n),同时神奇的是写在这些不能有效返回的指令后面发送的指令也失去了作用,没有返回值了(在前面发送是可以有用的)能指点一波迷津吗
ID:922670 发表于 2021-9-13 17:13
188610329 发表于 2021-9-12 23:05
通过你强调的 0xFA 我查了一下,定时器1, 8位自动重载, 22.1184MHz 的晶振,才能,0xFA  达到9600 波特 ...

谢谢老哥 我用的也是51单片机stc8h  但是哈我还配置了波特率加倍,这一除 刚好是11.0592MHz 刚好帮我证明了对的 谢谢老哥,能帮我看下其他还有问题吗哈哈哈
ID:624769 发表于 2021-9-12 23:05
2297809780 发表于 2021-9-12 14:10
老哥我用的是stc8h 波特率我检查了下应该是对的

通过你强调的 0xFA 我查了一下,定时器1, 8位自动重载, 22.1184MHz 的晶振,才能,0xFA  达到9600 波特率。
但是!! 转折来了哦, 只限于标准51单片机,或者 STC89, 90 系列单片机。

所以,你如果是 STC8h  那么,只能用 16位自动重载模式,代码一起给你吧。
void UartInit(void)                //9600bps@22.1184MHz
{
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x40;                //定时器时钟1T模式
        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0F;                //设置定时器模式
        TL1 = 0xC0;                //设置定时初始值
        TH1 = 0xFD;                //设置定时初始值
        ET1 = 0;                //禁止定时器%d中断
        TR1 = 1;                //定时器1开始计时
}

ID:922670 发表于 2021-9-12 14:10
aking991 发表于 2021-9-11 08:36
都没说你用什么单片机,如果是STC51单片机12T的波特率9600是FD没错,如果是STC12C或是STC15的1T模式就不一 ...

老哥我用的是stc8h 波特率我检查了下应该是对的
ID:123289 发表于 2021-9-11 08:50
两种方式发出的数据,不发给蓝牙,改发给你能收到信息的东东,对比一下信息有何差异,答案就有了。
ID:65956 发表于 2021-9-11 08:36
都没说你用什么单片机,如果是STC51单片机12T的波特率9600是FD没错,如果是STC12C或是STC15的1T模式就不一样了,你定义的波特率是4800的和加倍模式,可能你要查一下蓝牙手册看怎么要求发送的

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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