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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6457|回復: 10
收起左側

STM32藍牙接收亂碼

[復制鏈接]
ID:891306 發表于 2021-7-15 22:06 | 顯示全部樓層 |閱讀模式
120黑幣
程序是STM32藍牙串口程序,單片機接收數據,然后返回給手機該數據。
現象:
1)不連接藍牙模塊,XCOM正常接收
屏幕截圖 2021-07-15 214935.png

2)連接藍牙后,電腦串口發送字符 a XCOM返回數據中,一部分是正常的 a , 一部分是亂碼(紅線內1序號處)
屏幕截圖 2021-07-15 21121803.png
3)手機app發送a,電腦串口助手XCOM接收亂碼(紅線外2序號處)

分析:
(1)波特率設置正確,均為4800
(2)藍牙連接USB-TTL后,手機app發送數據,串口助手XCOM可正常接收,證明藍牙硬件沒問題
   單片機連接USB-TTL后,電腦發送數據,可返回相同的數據
(3)百度了一下,在眾多回答中,注意到:藍牙和單片機的時序不對。但是我對這方面的知識很迷茫,不敢妄下結論

STM32藍牙demo.7z (194.19 KB, 下載次數: 9)

回復

使用道具 舉報

ID:367934 發表于 2021-7-16 08:56 | 顯示全部樓層
藍牙和單片機都是串口通訊的話沒啥時序對不對的問題。只有波特率對不對。串口通訊出現亂碼很大可能是波特率不對。藍牙模塊的波特率。單片機的波特率。
回復

使用道具 舉報

ID:277550 發表于 2021-7-16 09:55 | 顯示全部樓層
藍牙模塊,本身要設置波特率的。
四者的波特率,都要對應的
手機端 ------ 藍牙模塊  ----- 單片機   -------- 電腦端
回復

使用道具 舉報

ID:891306 發表于 2021-7-16 10:19 | 顯示全部樓層
devcang 發表于 2021-7-16 09:55
藍牙模塊,本身要設置波特率的。
四者的波特率,都要對應的
手機端 ------ 藍牙模塊  ----- 單片機   --- ...

手機端。。可以設置波特率嗎?
回復

使用道具 舉報

ID:891306 發表于 2021-7-16 10:20 | 顯示全部樓層
適得府君書 發表于 2021-7-16 08:56
藍牙和單片機都是串口通訊的話沒啥時序對不對的問題。只有波特率對不對。串口通訊出現亂碼很大可能是波特率 ...

單片機程序波特率為4800,藍牙我用USB-TTL測試后,也是4800
回復

使用道具 舉報

ID:377268 發表于 2021-7-16 14:20 | 顯示全部樓層
大概看了下,提出幾個疑問:
1,這個代碼項目是要用單片機做橋梁,實現串口助手和手機藍牙助手的通信嗎?
2,如果要實現雙向通信,藍牙模塊和電腦串口助手得各自分別占用一個串口,我看你代碼只開了串口1,只能是單向通信:即PA9接藍牙PA10接USB-TTL,實現電腦發,單片機收,并轉發給藍牙模塊(也就是轉發給手機);二是反過來接,傳輸方向相反。
3,串口中斷服務函數中沒進行中斷標志位的清除,會造成程序死在中斷。
結論:你的(2)圖電腦發送a之后,進入中斷并且無法退出,則不停執行printf(“%c”,receivedata);所以a之后會有亂碼, 那是接收寄存器里的隨機數據。至于藍牙發送后電腦收到????,大概率是接線錯誤,收到了非顯示字符,串口軟件自動填充成了?。
如果數據線都接的正常, 建議檢查下供電。單片機3.3還真不一定行。

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:81196 發表于 2021-7-16 17:11 | 顯示全部樓層
1.首先你的串口不只是有比特率,還有校驗位,停止位,都確定無誤;
回復

使用道具 舉報

ID:891306 發表于 2021-7-16 17:57 | 顯示全部樓層
1105730718 發表于 2021-7-16 14:20
大概看了下,提出幾個疑問:
1,這個代碼項目是要用單片機做橋梁,實現串口助手和手機藍牙助手的通信嗎?
2 ...

非常感謝大佬回復,對于你的疑問,我解釋一下:
(1)代碼項目是手機app發送一個字符,單片機返回給手機該字符
(2)這個代碼是用洋桃電子的例程修改的,在我不連接藍牙模塊時,單片機是可以在串口助手上返回數據,亂碼是發生在連接藍牙后。。。
(3)藍牙和單片機的rx,tx交叉連接,應該沒問題
(4)藍牙模塊要求5V供電,單片機是連接數據線供電
(5)經過多天的調試,發現在有些時候,藍牙和單片機可以正常傳輸數據;但在大部分時候是亂碼
回復

使用道具 舉報

ID:891306 發表于 2021-7-16 17:58 | 顯示全部樓層
shumivan 發表于 2021-7-16 17:11
1.首先你的串口不只是有比特率,還有校驗位,停止位,都確定無誤;

藍牙的校驗位這些設置是默認出廠設置,代碼的是8位數據位,1位停止位,均無誤
回復

使用道具 舉報

ID:891306 發表于 2021-7-16 18:39 | 顯示全部樓層
會不會是串口1時鐘頻率太高,單片機接收補刀手機發來的數據,有沒有這種可能?
回復

使用道具 舉報

ID:917614 發表于 2021-7-16 21:15 | 顯示全部樓層
https://blog.csdn.net/xiaolong11 ... e/details/116707684  

可以看看這個 我覺得遇到問題你一個一個排除,,先看看硬件的連接和藍牙模塊是否有問題,,
再去看你的程序,,我覺得問題在于你的程序。。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表