| | |
| | | /* Includes ------------------------------------------------------------------*/ |
| | | #include "stm32f10x_it.h" |
| | | #include "stm32f10x.h" |
| | | #include "beep.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 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?? |
| | | { |
| | | 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); |
| | | if(sync_timer>=1000) |
| | | { |
| | | 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(); |
| | | } |
| | | |
| | | volatile uint32_t g_beep_on_time = 0; |
| | | volatile uint32_t g_beep_off_time = 0; |
| | | |
| | | |
| | | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | void SysTick_Handler(void) |
| | | { |
| | | static uint32_t s_cycle_time = 0; |
| | | time32_incr++; |
| | | |
| | | // if(s_cycle_time >= g_beep_off_time) |
| | | // { |
| | | // s_cycle_time = 0; |
| | | // } |
| | | // else if(s_cycle_time > g_beep_on_time && s_cycle_time < g_beep_off_time) |
| | | // { |
| | | // BEEP_OFF; |
| | | // } |
| | | // else if(s_cycle_time <= g_beep_on_time) |
| | | // { |
| | | // BEEP_ON; |
| | | // } |
| | | s_cycle_time++; |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | } |
| | | } |
| | | uint8_t tt=0; |
| | | uint8_t send_start=0; |
| | | void RTCAlarm_IRQHandler(void) |
| | | |
| | | void USART1_IRQHandler(void) |
| | | { |
| | | EXTI_ClearITPendingBit(EXTI_Line17); |
| | | RTC_ClearITPendingBit(RTC_FLAG_ALR); |
| | | send_start=1; |
| | | RTC_SET_ALARM(1); |
| | | tt++; |
| | | //GPIO_Toggle(GPIOA,LED_PIN); |
| | | |
| | | //SYS.wake_id|=1<<17; |
| | | if(USART_GetITStatus(EXT_UART, USART_IT_RXNE) != RESET)//????????? |
| | | { |
| | | UART_CheckReceive(); |
| | | } |
| | | |
| | | |
| | | |
| | | // if(USART_GetITStatus(USARTy, USART_IT_TXE) != RESET) |
| | | |
| | | // { |
| | | |
| | | // USART_SendData(USARTy, TxBuffer1[TxCounter1++]); |
| | | |
| | | // } |
| | | |
| | | } |
| | | |
| | | /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/ |