我設(shè)計(jì)的是 來一次外部中斷采集一次RTC時(shí)間數(shù)據(jù),然后發(fā)送時(shí)間數(shù)據(jù)到手機(jī)端,字符串長度是23。手機(jī)端無數(shù)據(jù)發(fā)送。我試了一下把NOTIFY的數(shù)據(jù)長度改成20就可以輸出了,但是數(shù)據(jù)長度不夠。求解答!
此圖為串口打印出來的,顯示數(shù)據(jù)正常
手機(jī)端NOTIFY
我設(shè)計(jì)的是 來一次外部中斷采集一次RTC時(shí)間數(shù)據(jù),然后發(fā)送時(shí)間數(shù)據(jù)到手機(jī)端,字符串長度是23。手機(jī)端無數(shù)據(jù)發(fā)送。我試了一下把NOTIFY的數(shù)據(jù)長度改成20就可以輸出了,但是數(shù)據(jù)長度不夠。求解答!
此圖為串口打印出來的,顯示數(shù)據(jù)正常
手機(jī)端NOTIFY
使用我們的例程,默認(rèn)一次notify的長度最大是20字節(jié),如果想傳輸更多的數(shù)據(jù),那么將config.h中的BLE_BUFF_MAX_LEN 改為最大值,將SIMPLEPROFILE_CHAR4_LEN改為實(shí)際發(fā)送的字節(jié)數(shù),手機(jī)端需要交互mtu,改為247,最大傳輸244字節(jié)。
使用ble調(diào)試助手的話,連接后,點(diǎn)擊右上角的三個(gè)點(diǎn),選擇修改mtu,輸入即可。
您好!上面的那個(gè)問題已解決。還有個(gè)問題 根據(jù)上面實(shí)現(xiàn)的功能,想進(jìn)一步實(shí)現(xiàn)低功耗,無外部中斷則睡眠,如何實(shí)現(xiàn)?
目前只打開了引腳喚醒和SLEEP = TRUE.
打開Lowpowwe_Idle 藍(lán)牙直接搜不到了
睡眠模式有四種,可根據(jù)需求選擇相應(yīng)的模式:
在編譯器的宏定義使用HAL_SLEEP = 1,開啟睡眠,可以嘗試在sleep函數(shù)里加一個(gè)字符的打印,驗(yàn)證是否有睡下去,我們這里嘗試是沒有問題的;或者通過電流的測(cè)量也可以驗(yàn)證是否睡眠成功。