欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7170|回復(fù): 8
收起左側(cè)

JDY-23藍(lán)牙模塊單片機(jī)串口發(fā)送at指令返回結(jié)束錯(cuò)誤

[復(fù)制鏈接]
ID:922670 發(fā)表于 2021-9-10 18:51 | 顯示全部樓層 |閱讀模式
10黑幣
大佬們 最近做項(xiàng)目設(shè)計(jì) 選用了JDY-23的藍(lán)牙模塊 在單片機(jī)和藍(lán)牙模塊的數(shù)據(jù)傳輸上碰了灰。我在串口助手上發(fā)送AT+SLEEP2(深度休眠),藍(lán)牙模塊會(huì)進(jìn)入休眠 此時(shí)手機(jī)是搜不到藍(lán)牙的,而在單片機(jī)上我也往串口里發(fā)送數(shù)據(jù)(對(duì)應(yīng)的ascii16進(jìn)制)卻發(fā)揮不了作用 藍(lán)牙還是搜的到 ,后面的\r\n也是添加了的,就很神奇 ,然后我把藍(lán)牙的tx拉出來又拿了塊usb轉(zhuǎn)ttl 插到 rx 上,在pc上看返回了+ERR:1003,詢問客服 說是結(jié)束錯(cuò)誤,是我哪里配置錯(cuò)誤了嗎 希望有大佬能供給我解答 萬分感謝!
下面是相關(guān)代碼
1631271032(1).png

eedb3c1b43898f8855c315a43049018.png
2716756c453f253e92200d94c7a7906.png
45346ed85687f4a4a10543987f51b27.png
之后又發(fā)現(xiàn)以下這種情況 右邊是單片機(jī)發(fā)送的 左邊是藍(lán)牙接受返回的 可以看到VER的指令可以有效返回 而sleep2 的不可以
1.png

回復(fù)

使用道具 舉報(bào)

ID:65956 發(fā)表于 2021-9-11 08:36 | 顯示全部樓層
都沒說你用什么單片機(jī),如果是STC51單片機(jī)12T的波特率9600是FD沒錯(cuò),如果是STC12C或是STC15的1T模式就不一樣了,你定義的波特率是4800的和加倍模式,可能你要查一下藍(lán)牙手冊(cè)看怎么要求發(fā)送的
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2021-9-11 08:50 | 顯示全部樓層
兩種方式發(fā)出的數(shù)據(jù),不發(fā)給藍(lán)牙,改發(fā)給你能收到信息的東東,對(duì)比一下信息有何差異,答案就有了。
回復(fù)

使用道具 舉報(bào)

ID:922670 發(fā)表于 2021-9-12 14:10 | 顯示全部樓層
aking991 發(fā)表于 2021-9-11 08:36
都沒說你用什么單片機(jī),如果是STC51單片機(jī)12T的波特率9600是FD沒錯(cuò),如果是STC12C或是STC15的1T模式就不一 ...

老哥我用的是stc8h 波特率我檢查了下應(yīng)該是對(duì)的
回復(fù)

使用道具 舉報(bào)

ID:624769 發(fā)表于 2021-9-12 23:05 | 顯示全部樓層
2297809780 發(fā)表于 2021-9-12 14:10
老哥我用的是stc8h 波特率我檢查了下應(yīng)該是對(duì)的

通過你強(qiáng)調(diào)的 0xFA 我查了一下,定時(shí)器1, 8位自動(dòng)重載, 22.1184MHz 的晶振,才能,0xFA  達(dá)到9600 波特率。
但是!! 轉(zhuǎn)折來了哦, 只限于標(biāo)準(zhǔn)51單片機(jī),或者 STC89, 90 系列單片機(jī)。

所以,你如果是 STC8h  那么,只能用 16位自動(dòng)重載模式,代碼一起給你吧。
void UartInit(void)                //9600bps@22.1184MHz
{
        SCON = 0x50;                //8位數(shù)據(jù),可變波特率
        AUXR |= 0x40;                //定時(shí)器時(shí)鐘1T模式
        AUXR &= 0xFE;                //串口1選擇定時(shí)器1為波特率發(fā)生器
        TMOD &= 0x0F;                //設(shè)置定時(shí)器模式
        TL1 = 0xC0;                //設(shè)置定時(shí)初始值
        TH1 = 0xFD;                //設(shè)置定時(shí)初始值
        ET1 = 0;                //禁止定時(shí)器%d中斷
        TR1 = 1;                //定時(shí)器1開始計(jì)時(shí)
}

回復(fù)

使用道具 舉報(bào)

ID:922670 發(fā)表于 2021-9-13 17:13 | 顯示全部樓層
188610329 發(fā)表于 2021-9-12 23:05
通過你強(qiáng)調(diào)的 0xFA 我查了一下,定時(shí)器1, 8位自動(dòng)重載, 22.1184MHz 的晶振,才能,0xFA  達(dá)到9600 波特 ...

謝謝老哥 我用的也是51單片機(jī)stc8h  但是哈我還配置了波特率加倍,這一除 剛好是11.0592MHz 剛好幫我證明了對(duì)的 謝謝老哥,能幫我看下其他還有問題嗎哈哈哈
回復(fù)

使用道具 舉報(bào)

ID:922670 發(fā)表于 2021-9-13 17:17 | 顯示全部樓層
yzwzfyz 發(fā)表于 2021-9-11 08:50
兩種方式發(fā)出的數(shù)據(jù),不發(fā)給藍(lán)牙,改發(fā)給你能收到信息的東東,對(duì)比一下信息有何差異,答案就有了。

大佬 我后續(xù)測(cè)下來 發(fā)現(xiàn)有些指令是可以有正常返回值和作用的 但是AT+SLEEP2的指令單片機(jī)發(fā)送還不行,同樣的還有AT+SLEEP、AT+ADVIN共同點(diǎn)我發(fā)現(xiàn)是AT后面超過5位就都失效(不包括\r\n),同時(shí)神奇的是寫在這些不能有效返回的指令后面發(fā)送的指令也失去了作用,沒有返回值了(在前面發(fā)送是可以有用的)能指點(diǎn)一波迷津嗎
回復(fù)

使用道具 舉報(bào)

ID:922670 發(fā)表于 2021-9-28 14:15 | 顯示全部樓層
已解決 是延遲
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表