使用微信小程序發(fā)送一串字符? 一旦超過80? 例如發(fā)200個中文,肯定有一兩個中文亂碼
我們的藍(lán)牙最大可以發(fā)送240左右的字節(jié),可以先驗證一下發(fā)送相同的字節(jié)是否會出現(xiàn)問題,然后驗證發(fā)送漢字。同時檢查一下微信小程序是否自行開發(fā)的問題。
相同字節(jié)不會,而且是特地的字符 特定位置會出錯,低于80字節(jié)隨便傳輸都是正常的。貴司可以內(nèi)部測下。隨便打一些UTF8的字符進(jìn)去 打印看看。? 用漢字看主要容易發(fā)現(xiàn)有個別數(shù)據(jù)出錯,也可以是隨機的字節(jié)數(shù)據(jù) 但是一定要很隨機的,漢字也要很隨機的漢字?
確認(rèn)下你這邊使用的是什么設(shè)備,我們做下相應(yīng)的測試,使用的我們的芯片自己寫的代碼將mtu設(shè)置為80,還是使用的哪款模塊。
使用的是582M? MTU開到250??????用的是微信小程序 或者可以用標(biāo)準(zhǔn)的藍(lán)牙APP也可以。
我們這邊做了對應(yīng)的測試,藍(lán)牙是可靠傳輸,使用字節(jié)發(fā)送并沒有出現(xiàn)亂碼的現(xiàn)象,使用中文發(fā)送的話,打印輸出的串口不支持UTF-8編碼,將hex形式進(jìn)行解析的到的中文是正確的。
sscom32可以改用XSHELL 查看UTF8中文編碼, 這個很隨機 數(shù)據(jù)一定要隨機的? 如果是固定的數(shù)據(jù) 傳輸是可靠的。
我這邊的測試環(huán)境是582將mtu設(shè)置為最大值247,此時一包數(shù)據(jù)最大是244字節(jié),支持發(fā)送中文81個,超過后會分包,可以看看是不是分包先來一個字節(jié)再來兩個字節(jié),導(dǎo)致解析亂碼,直接透傳之后解析數(shù)據(jù)是沒問題的,數(shù)據(jù)很隨機。