CH582M 藍(lán)牙設(shè)備接入后 全局變量賦值異常

你好,最近項目中遇到一個問題:CH582M 藍(lán)牙沒有設(shè)備接入時(廣播中)程序運行正常。只要有藍(lán)牙設(shè)備接入后,有些全局BUF讀出來的數(shù)值時異常的。這邊有些疑問要請教下:

  1. HIGH CODE代碼時賦值到RAM執(zhí)行的,那藍(lán)牙設(shè)備接入后是否有HIGH CODE 代碼?

  2. CH582M RAM是32KB 我編譯的時候是21K大概64%,那么編譯完的21K是否有包括HIGH CODE代碼?

  3. CH582M HIGH CODE 代碼大概有多少KB ?是否可以修改???

藍(lán)牙是有代碼工作在RAM中的,編譯完成后還剩余64%,RAM是夠用的,不需要針對RAM進(jìn)行修改。

藍(lán)牙的廣播與連接理論上不會造成BUF的值異常,建議將BUF值異常情況貼出來我們進(jìn)行查看。

同時需要注意,在藍(lán)牙的工程目錄下,需要通過TMOS系統(tǒng)管理所有的任務(wù),否則可能出現(xiàn)各種各樣的問題。

WCH TMOS用法詳解 - debugdabiaoge - 博客園 (cnblogs.com)


BUF值讀出來都是2839~2841之間浮動(已轉(zhuǎn)換成%d)。


就是使用官方給的示例(BackupUpgrade_OTA)做的修改。是用TMOS系統(tǒng)


  1. HIGH CODE代碼時賦值到RAM執(zhí)行的,那藍(lán)牙設(shè)備接入后是否有HIGH CODE 代碼?

  2. CH582M RAM是32KB 我編譯的時候是21K大概64%,那么編譯完的21K是否有包括HIGH CODE代碼?

  3. CH582M HIGH CODE 代碼大概有多少KB ?是否可以修改???

這3個問題可以幫忙解答下嗎?



1、藍(lán)牙連接前與連接后都會有HIGHCODE代碼,如開啟睡眠后,睡眠函數(shù)就是HIGHCODE修改,代表了放在RAM中運行。RAM總共32K,包括了藍(lán)牙庫使用,變量使用和HIGHCODE使用到;

2、包括有HIGHCODE代碼;

3、HIGHCODE代碼可以修改,找到函數(shù)名上面帶有HIGHCODE修飾的將它刪除就可以了,但是不建議這樣做,因為默認(rèn)的例程帶有HIGHCODE代表對運行速度有要求的,需要快速運行(藍(lán)牙對運行速度有要求),同時也沒必要刪除,因為你的RAM完全夠用(占用64%)。如果以后RAM不夠用了,也是應(yīng)該從應(yīng)用層的角度出發(fā)去刪減RAM代碼的占用。



哦,謝謝解答!之前我還以為是RAM問題。那你可以幫忙分析下這個問題嗎?為什么無藍(lán)牙設(shè)備接入都正常,藍(lán)牙設(shè)備接入后有些BUF值讀出來都在2839~2841之間跳動(已轉(zhuǎn)換成10進(jìn)制)。


BUF是做了什么處理的,具體功能描述一下,BUF的變化也截圖貼出來看看。

或者可以發(fā)送郵件至郵箱lpc@wch.cn,程序貼出來我們幫忙看看情況。



OK。已發(fā)送至你的郵箱!


BLE_BUFF_MAX_LEN的取值范圍是27~251。我本來填的是251,會出現(xiàn)我說的異常現(xiàn)象;現(xiàn)在改成27程序就都運行正常了。這是什么原理???image.png


主從機(jī)連接之后會進(jìn)入交互MTU的回調(diào)打印exchange MTU的數(shù)值,檢查一下是多少。

郵件已回復(fù),請查看。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频