btlejack原始的,其中断中的相关代码
case RECOVER_CHM:{if((NRF_RADIO->CRCSTATUS ==1)){/* If by any chance we got a channel map update. */if(((rx_buffer[0]&0x03)==0x03)&&(rx_buffer[2]==0x01))
pLink->verbose(B("U"));if(!is_channel_mapped(g_sniffer.channel)){map_channel(g_sniffer.channel);
pLink->verbose(B("I"));recover_chm_next();}}/* Continue to receive. */
NRF_RADIO->TASKS_START =1;}break;//这不,这就是那个定时的voidrecover_chm_next(){if(g_sniffer.channel <36){
g_sniffer.ticker.timer_stop(0);
g_sniffer.ticker.timer_start(0,/*(unsigned int)g_sniffer.max_interval * 1250*/g_sniffer.cchm_timeout *1000,&chm_tick);}chm_tick();}
#if1//RECOVER_CHM case RECOVER_CHM:{if((NRF_RADIO->CRCSTATUS ==1)){if(((rx_buffer[0]&0x03)==0x03)&&(rx_buffer[2]==0x01)){printf("captured LL_MAP\r\n");Link_verbose(B("U"));}if(!is_channel_mapped(g_sniffer.channel)){map_channel(g_sniffer.channel);Link_verbose(B("I"));recover_chm_next();}}
NRF_RADIO->TASKS_START =1;}break;#endif