Peripheral例程問題

我想通過修改peripheral例程實(shí)現(xiàn)通過藍(lán)牙發(fā)送一個數(shù)據(jù),然后再返一個數(shù)據(jù)回來,幾個疑問

1、static gattAttribute_t simpleProfileAttrTbl[]列表

? ? ?基本搞清了GATT的特征值在這個列表中初始化?simpleProfileAttrTbl,特征4中多定義了一個服務(wù),這個服務(wù)是否與例子中的notify有關(guān)系?從調(diào)試助手上,點(diǎn)擊特征4的接收數(shù)據(jù)后界面會與其他幾個不同,這個差異是要在哪里定義或申明嗎?我在simpleProfileAttrTbl里把特征1改成了和4一樣的結(jié)構(gòu),就不會有4的效果

????static gattCharCfg_t simpleProfileChar4Config[4];這個數(shù)組是的作用是不是用來存儲連接的信息的?

2、發(fā)送數(shù)據(jù)

? ?從特征1上寫入數(shù)據(jù)能不能從特征1上自動返回來,我看例程上是bStatus_t simpleProfile_Notify( uint16 connHandle, attHandleValueNoti_t *pNoti )這個函數(shù)通過特征4發(fā)的數(shù)據(jù),我改成指向1發(fā)不出東西(SIMPLEPROFILE_CHAR4_VALUE_POS這個改成2)

3、發(fā)送函數(shù)

????bStatus_t GATT_Notification( uint16 connHandle, attHandleValueNoti_t *pNoti, uint8 authenticated );發(fā)送數(shù)據(jù)是不是都可以通過這個函數(shù)實(shí)現(xiàn)


  1. 配置文件包含服務(wù),服務(wù)包含特征,而不是在特征中定義服務(wù)。關(guān)于顯示界面不一樣可以發(fā)個截圖看看,猜測是因?yàn)樘卣髀暶髦械奶卣餍再|(zhì)字段定義不同,GATT_PROP_READ |?GATT_PROP_WRITE |?GATT_PROP_NOTIFY

    你所說的連接信息是指哪些信息?那個數(shù)組是用來存儲連接配置信息,比如說通知是否打開

  2. 能不能從特征1發(fā)送通知要看特征1的特性聲明字段中是否標(biāo)記有GATT_PROP_NOTIFY這個

  3. 要理解BLE是主從拓?fù)?,從底層理解從設(shè)備不存在發(fā)送數(shù)據(jù)這個動作,他只能把數(shù)據(jù)放到一個位置等主設(shè)備來取,通知和指示是在這個結(jié)構(gòu)上實(shí)現(xiàn)的一個類似于主動發(fā)送的效果,能不能使用GATT_Notification發(fā)送通知要看該特征具不具有GATT_PROP_NOTIFY權(quán)限

?????? 我大概是這樣理解的


非常感謝? ? static uint8 simpleProfileChar1Props = GATT_PROP_READ | GATT_PROP_WRITE;這個屬性改成GATT_PROP_READ |?GATT_PROP_WRITE |?GATT_PROP_NOTIFY就可以了,我試了一下通過notify來做轉(zhuǎn)發(fā)可以行的通j_0058.gif


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

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