CH32V208 notify失效

用的是ble 的peripherial例程,attributr table部分配置如下

// Characteristic 3 Declaration

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, characterUUID},

? ? ? ? GATT_PERMIT_READ,

? ? ? ? 0,

? ? ? ? &simpleProfileChar3Props},


? ? // Characteristic Value 3

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, simpleProfilechar3UUID},

? ? ? ? GATT_PERMIT_WRITE,

? ? ? ? 0,

? ? ? ? simpleProfileChar3},


? ? // Characteristic 3 User Description

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, charUserDescUUID},

? ? ? ? GATT_PERMIT_READ,

? ? ? ? 0,

? ? ? ? simpleProfileChar3UserDesp},


? ? // Characteristic 4 Declaration

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, characterUUID},

? ? ? ? GATT_PERMIT_READ,

? ? ? ? 0,

? ? ? ? &simpleProfileChar4Props},


? ? // Characteristic Value 4

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, simpleProfilechar4UUID},

? ? ? ? 0,

? ? ? ? 0,

? ? ? ? simpleProfileChar4},


? ? // Characteristic 4 configuration

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, clientCharCfgUUID},

? ? ? ? GATT_PERMIT_READ | GATT_PERMIT_WRITE,

? ? ? ? 0,

? ? ? ? (uint8_t *)simpleProfileChar4Config},


? ? // Characteristic 4 User Description

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, charUserDescUUID},

? ? ? ? GATT_PERMIT_READ,

? ? ? ? 0,

? ? ? ? simpleProfileChar4UserDesp},

這樣沒有問題,Characteristic 4 的notify功能正常,但如果我把Characteristic 3的?User Description注釋掉,Characteristic 4 的notify就不正常了,即

// Characteristic 3 Declaration

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, characterUUID},

? ? ? ? GATT_PERMIT_READ,

? ? ? ? 0,

? ? ? ? &simpleProfileChar3Props},


? ? // Characteristic Value 3

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, simpleProfilechar3UUID},

? ? ? ? GATT_PERMIT_WRITE,

? ? ? ? 0,

? ? ? ? simpleProfileChar3},


? ? // Characteristic 3 User Description

//? ? {

//? ? ? ? {ATT_BT_UUID_SIZE, charUserDescUUID},

//? ? ? ? GATT_PERMIT_READ,

//? ? ? ? 0,

//? ? ? ? simpleProfileChar3UserDesp},


? ? // Characteristic 4 Declaration

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, characterUUID},

? ? ? ? GATT_PERMIT_READ,

? ? ? ? 0,

? ? ? ? &simpleProfileChar4Props},


? ? // Characteristic Value 4

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, simpleProfilechar4UUID},

? ? ? ? 0,

? ? ? ? 0,

? ? ? ? simpleProfileChar4},


? ? // Characteristic 4 configuration

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, clientCharCfgUUID},

? ? ? ? GATT_PERMIT_READ | GATT_PERMIT_WRITE,

? ? ? ? 0,

? ? ? ? (uint8_t *)simpleProfileChar4Config},


? ? // Characteristic 4 User Description

? ? {

? ? ? ? {ATT_BT_UUID_SIZE, charUserDescUUID},

? ? ? ? GATT_PERMIT_READ,

? ? ? ? 0,

? ? ? ? simpleProfileChar4UserDesp},

這是為什么

Characteristic 3是write,Characteristic 4是notify


@TECH_Lpc


這里配置11,尋找Characteristic Value 4。

如果修改了數(shù)組內(nèi)容,需要將這里查詢數(shù)組也進行修改。

image.png


謝謝大佬,解決了


還有一個問題,從機設(shè)備如何一連接,notify就配置為enable?

因為現(xiàn)在需要手機上點一下才可以enable,我嘗試修改CCCD貌似沒起作用.


可以從機主動使能CCCD,這樣主機可以不進行使能。、

CH573 CH582 CH579藍(lán)牙從機(peripheral)例程講解五(藍(lán)牙從機使能通知) - WCH藍(lán)牙應(yīng)用分享 - 博客園

但是要注意主機是否有硬件點擊,例如BLE調(diào)試助手的noti務(wù)必手動點擊按鍵才能進行接收數(shù)據(jù),即使從機使能CCCD也無法成功接收到數(shù)據(jù)??梢杂胣rfconnect這個APP測試。


謝謝大佬,已經(jīng)解決,andriod手機的nrf connect用起來沒問題


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

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