如何判斷BLE包類(lèi)型?
void?RF_Init(?void?)
{
??uint8?state;
??rfConfig_t?rfConfig;

??taskID?=?TMOS_ProcessEventRegister(?RF_ProcessEvent?);
??rfConfig.accessAddress?=?0x8E89BED6;	//?禁止使用0x55555555以及0xAAAAAAAA?(?建議不超過(guò)24次位反轉(zhuǎn),且不超過(guò)連續(xù)的6個(gè)0或1?)
??rfConfig.CRCInit?=?0x555555;
??rfConfig.Channel?=?37;
??rfConfig.LLEMode?=?LLE_MODE_AUTO;
??rfConfig.rfStatusCB?=?RF_2G4StatusCallBack;
??state?=?RF_Config(?&rfConfig?);
??PRINT("rf?2.4g?init:?%x\n",state);
??/*state=3;
??while(--state){
????RF_Tx(?TX_DATA,16,?0x02,?0x02?);
??}*/


	{?//?RX?mode
		state?=?RF_Rx(?TX_DATA,16,?0,?0x02?);
		PRINT("RX?mode.state?=?%x\n",state);
	}

	{?//?TX?mode
//		tmos_set_event(?taskID?,?SBP_RF_PERIODIC_EVT?);
	}
}

使用PHY接收數(shù)據(jù)時(shí),要指定接收的數(shù)據(jù)包類(lèi)型,0xff為任意,那么接收到的數(shù)據(jù)如何判斷是何種BLE類(lèi)型包?比如通用廣播包類(lèi)型為0,可以在rf_rx的時(shí)候設(shè)置接收類(lèi)型為0,那么如果設(shè)置成FF,我該如何判斷BLE包類(lèi)型?

初始化時(shí)候按照下面配置:

//LLEMode的bit7置1即可把接收到的數(shù)據(jù)第一個(gè)字節(jié)即由rssi變?yōu)閜kt_type
//本配置適用于比較新的CH579/CH573的lib
rfConfig.LLEMode?=?LLE_MODE_AUTO|(1<<7);

在接收到數(shù)據(jù)的回掉函數(shù)里獲取pkt_type:

PRINT("rx?pkt?type:%02x\r\n",rxBuf[0]);


如果此時(shí)仍然想要得到rssi,

可以由下面兩種方式:

1, 仍然根據(jù)數(shù)據(jù)包里數(shù)據(jù)

//本方式讀寫(xiě)的,就是指示本數(shù)據(jù)包接收時(shí)候的rssi,
//其rssi是從傳入的指針(指針傳入是對(duì)齊到4字節(jié)的)開(kāi)始到有效數(shù)據(jù)結(jié)束后的緊接著的,第一個(gè)對(duì)齊4字節(jié)內(nèi)的第2個(gè)byte:
PRINT("rssi?at:%d,rssi:%d\r\n",2+((rxBuf[1]+5)&0xffc),(int8_t)rxBuf[2+((rxBuf[1]+5)&0xffc)]);

2,通過(guò)API讀取:

//在極限情況下,比如當(dāng)前包收到了,緊接著又來(lái)了一包,這種情況下,這個(gè)api讀的會(huì)是第二個(gè)包的rssi.
extern?s8?BLE_ReadRssi(?void?)



多謝。

可是最新的573LIB有問(wèn)題,我還用著1.2的。1.3的RF_PHY里面只能設(shè)置頻率字段才能接收藍(lán)牙包。問(wèn)題是接收頻率只能設(shè)置2400.如果想接收37信道設(shè)置頻率2402等等,完全就接收不到。之前給技術(shù)支持回饋過(guò),好像沒(méi)下文了。


LLE_MODE_BASIC模式,不要設(shè)置頻率部分,然后channel 設(shè)置為廣播信道就好了,比如37,38,39


你好,現(xiàn)在使用582藍(lán)牙5,以上是否還成立,LLEMode的bit7置1即可把接收到的數(shù)據(jù)第一個(gè)字節(jié)即由rssi變?yōu)閜kt_type,SDK里是#define? LLE_MODE_NON_RSSI? ? ? ? ? ? (1<<7),是否還能用這個(gè)方法得到RSSI和pkt_type


在582上依然是可以的,通過(guò)以上方法獲取rssi和pkt_type。


試過(guò)不行,就用obsever了


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

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