573藍(lán)牙會(huì)卡死,如何防攻擊

RT,

void?RF_2G4StatusCallBack(?uint8?sta?,?uint8?crc,?uint8?*rxBuf?)
{
????switch(?sta?)
????{
????case?RX_MODE_RX_DATA:
????????RF_Shut();
????????if(?crc?==?1?)
????????{
????????????//PRINT("crc?error\n");
????????}
????????else?if(?crc?==?2?)
????????{
????????????//PRINT("match?type?error\n");
????????}
????????else
????????{
????????????if(l_rf_read_cb?!=?NULL){
????????????????l_rf_read_cb(rxBuf);
????????????}
????????}
????????RF_Rx(?NULL,0,?l_package_type,?0xFF?);
??????break;
??}
??//PRINT("STA:?%x\n",sta);
}

void?rf_read_cb(uint8_t*?ptData){
#ifdef??DEBUG_ME
????/*int?i?=?0;
????PRINT("read?data:");
????for(i=0;i?245){
????????PRINT("data?>?245\n");
????????return;
????}
????
????/*if(queue_can_write_len(&g_bt_queue)?>=?ptData[1]+2){
????????queue_put(&g_bt_queue,ptData[1]);
????????queue_put_buff(&g_bt_queue,ptData+2,ptData[1]);//data
????}else{
????????PRINT("queue?full\n");
????}
????tmos_set_event(l_task_id,?SBP_MAIN_RF_EVT);
????PRINT("end\n");*/


????memcpy(uart_send_buff,ptData+2,ptData[1]);
????UART0_SendString(?uart_send_buff,?ptData[1]);

????//PRINT("e\n");
}


一塊板子在收,并打印,一塊板子在發(fā),當(dāng)發(fā)送的板子使用while(1) tx的時(shí)候,接收的板子可能出現(xiàn)卡死,TMOS set event后再也進(jìn)不了

RF_2G4StatusCallBack

,只要把發(fā)送的板子關(guān)閉,那接收的板子立馬就正常了。

如果發(fā)送的板子,發(fā)送的時(shí)候加上延時(shí),而非while(1) tx,那么接收的板子就沒(méi)事

在接收的回調(diào)函數(shù)里,不要立刻開(kāi)啟接收,而是設(shè)置一個(gè)event,然后在event里面進(jìn)行接收。

這個(gè)原因是 :

發(fā)送比較快,導(dǎo)致接收中斷來(lái)的太快,你又在接收回調(diào)里面把接收打開(kāi)了,而tmos狀態(tài)機(jī)輪詢需要一定時(shí)間。



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

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