my problem have microchip of stm32f103.
for external interrupt function exti4_irqhandler name use.
i interrupt occurs when interrupt disable if did not run again caused problems previous interrupt.
after performing required steps . enable interrupt again.
i searched internet, found nothing.
my function:
void exti4_irqhandler(void) { unsigned int t=0,b=200,view; if(end){exti->pr |= (1<<4);return;} if (exti->pr & (1<<4)) // exti1 interrupt pending? { char datatm[32]; while(((gpioc->idr & 0x0010) == 0)&&(t<=b)){ t++; } if(t>=b) { if(tr == 0) { view=rf_recieve_payload(spi1,recieve_data,32); for(n=0;n<32;n++)datatm[n]= data[n] ^ code_data[n]; if(view == rf_data_received) { if(wifi_main==0) { t_count=0; transmit=0; view=npacket_checking(); if(view==1) { requested=1; } if(dont_send==1) { dont_send=0;requested=0; } } } } else if(tr==1) { view= check_sending_payload(); if(view== rf_data_send_ack_received_ok){rx_mode();} } } exti->pr |= (1<<4); }// clear pending interrupt }
Comments
Post a Comment