| | |
| | | /** |
| | | ****************************************************************************** |
| | | * @file Project/STM32F10x_StdPeriph_Template/stm32f10x_it.c |
| | | * @file Project/STM32F10x_StdPeriph_Template/stm32f10x_it.c |
| | | * @author MCD Application Team |
| | | * @version V3.4.0 |
| | | * @date 10/15/2010 |
| | | * @brief Main Interrupt Service Routines. |
| | | * This file provides template for all exceptions handler and |
| | | * This file provides template for all exceptions handler and |
| | | * peripherals interrupt service routine. |
| | | ****************************************************************************** |
| | | * @copy |
| | |
| | | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
| | | * |
| | | * <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2> |
| | | */ |
| | | */ |
| | | |
| | | /* Includes ------------------------------------------------------------------*/ |
| | | #include "stm32f10x_it.h" |
| | | #include "stm32f10x.h" |
| | | #include "dw_app.h" |
| | | #include "global_param.h" |
| | | #include "beep_logic_app.h" |
| | | #include "led.h" |
| | | #include "Usart.h" |
| | | #include "dw_app.h" |
| | | /* Tick timer count. */ |
| | | volatile unsigned long time32_incr; |
| | | volatile unsigned long time32_reset = 0; |
| | | void SysTick_Handler(void) |
| | | volatile uint32_t time32_incr; |
| | | uint8_t tt=0; |
| | | uint8_t g_start_send_flag = 0,sync_seq=0,usart_send_flag,waitsync_flag=0; |
| | | u16 usart_timer=0,synclost_count=0; |
| | | uint16_t sysscal; |
| | | u16 tag_recv_timer, tag_timer,last_polltime; |
| | | extern uint16_t g_Resttimer,heartbeat_timer,sync_timer; |
| | | extern uint8_t g_pairstart; |
| | | u8 neartimout_timer=0,flag_syncbase=0,flag_newsecond=0; |
| | | extern u16 tyncpoll_time,target_time; |
| | | extern uint32_t synclost_timer,current_syncid; |
| | | void TIM3_IRQHandler(void) //TIM3?? |
| | | { |
| | | time32_incr++; |
| | | time32_reset++; |
| | | if(time32_reset>10000) |
| | | { |
| | | NVIC_SystemReset(); |
| | | if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //??TIM3???????? |
| | | { |
| | | TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //??TIMx?????? |
| | | // main_logic(); |
| | | // time32_incr++; |
| | | // heartbeat_timer++; |
| | | sync_timer++; |
| | | // neartimout_timer++; |
| | | // synclost_timer++; |
| | | // GPIO_WriteBit(GPIOA, GPIO_Pin_8, Bit_RESET); |
| | | GPIOA->BRR = GPIO_Pin_8; |
| | | if(sync_timer==10) |
| | | { |
| | | GPIOA->BSRR = GPIO_Pin_8; |
| | | } |
| | | |
| | | if(sync_timer>=1000) |
| | | {uint8_t i; |
| | | heartbeat_timer++; |
| | | for(i=0;i<MAX_REGTAGNUM;i++) |
| | | { |
| | | if(regtag_map.remain_time[i]>0) |
| | | { |
| | | regtag_map.remain_time[i]--; |
| | | } |
| | | } |
| | | if(pwtag.remain_time>0) |
| | | {pwtag.remain_time--;} |
| | | flag_newsecond=1; |
| | | // GPIO_WriteBit(GPIOA, GPIO_Pin_8, Bit_SET); |
| | | sync_timer=0; |
| | | // synclost_count++; |
| | | // TagListUpdate(); |
| | | // if(g_com_map[BASESYNCSEQ]==1) //鏈ā鍧楁槸鍚屾鍩虹珯 |
| | | // { |
| | | // synclost_count = 0; |
| | | // current_syncid = 1; |
| | | // sync_seq=0; |
| | | // SyncPoll(sync_seq); |
| | | // } |
| | | // } |
| | | // |
| | | // if(g_Resttimer++>12000) |
| | | // { |
| | | // NVIC_SystemReset(); |
| | | // } |
| | | |
| | | |
| | | |
| | | // |
| | | // if(!g_com_map[DEV_ROLE]) //鍩虹珯 |
| | | // { |
| | | // tag_recv_timer++; |
| | | // TagDistClear(); |
| | | // if(g_com_map[ANC_POLL]) |
| | | // { |
| | | // if(sync_timer==target_time) |
| | | // { |
| | | // g_start_send_flag=1; |
| | | // } |
| | | // } |
| | | // |
| | | // #ifdef USART_INTEGRATE_OUTPUT |
| | | // if(sync_timer%g_com_map[COM_INTERVAL]==0) |
| | | // { |
| | | // |
| | | // usart_send_flag=1; |
| | | // } |
| | | // #endif |
| | | // }else{ //鏍囩鍚屾澶勭悊 |
| | | // if(sync_timer==target_time) |
| | | // { |
| | | |
| | | // last_polltime=sync_timer; |
| | | // // GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET); |
| | | // g_start_send_flag=1; |
| | | // } |
| | | // |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/ |
| | | void SysTick_Handler(void) |
| | | { |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * @brief 涓柇鏈嶅姟鍑芥暟 |
| | | */ |
| | | void EXTI1_IRQHandler(void) |
| | | { |
| | | if(EXTI_GetITStatus(EXTI_Line1)!= RESET) |
| | | { |
| | | EXTI_ClearITPendingBit(EXTI_Line1); |
| | | |
| | | } |
| | | } |
| | | u8 needanchorrx=1; |
| | | u16 ttt = 0; |
| | | extern u32 status_reg; |
| | | void EXTI0_IRQHandler(void) |
| | | { |
| | | if(EXTI_GetITStatus(EXTI_Line0)!= RESET) |
| | | { |
| | | EXTI_ClearITPendingBit(EXTI_Line0); |
| | | |
| | | // GPIOA->BSRR = GPIO_Pin_8; |
| | | //if(ttt==0) |
| | | Anchor_App(); |
| | | // GPIOA->BRR = GPIO_Pin_8; |
| | | } |
| | | } |
| | | void USART1_IRQHandler(void) |
| | | { |
| | | if(USART_GetITStatus(EXT_UART, USART_IT_RXNE) != RESET)//????????? |
| | | { |
| | | UART_CheckReceive(); |
| | | } |
| | | |
| | | |
| | | |
| | | // if(USART_GetITStatus(USARTy, USART_IT_TXE) != RESET) |
| | | |
| | | // { |
| | | |
| | | // USART_SendData(USARTy, TxBuffer1[TxCounter1++]); |
| | | |
| | | // } |
| | | |
| | | } |
| | | |