| | |
| | | #include "beep.h" |
| | | #include "dw_driver.h" |
| | | #include "dw_app.h" |
| | | #include "stm32f10x_it.h" |
| | | #include "serial_at_cmd_app.h" |
| | | #include "global_param.h" |
| | | #include "ADC.h" |
| | | |
| | | //#define WORK_MODE_TAG |
| | | #define WORK_MODE_ANCHOR |
| | | |
| | | void Device_Init(void) |
| | | { |
| | | Rcc_Init(); |
| | | RCC_Configuration(); |
| | | //SystemInit(); |
| | | Nvic_Init(); |
| | | Systick_Init(); |
| | | Led_Init(); |
| | | Beep_Init(); |
| | | DW_GPIO_Init(); |
| | | Usart_Init(); |
| | | Uart1_Init(); |
| | | Spi_Init(); |
| | | ADC_Configuration(); |
| | | |
| | | GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); |
| | | } |
| | | u8 anchor_type; |
| | | u32 dev_id; |
| | | void Program_Init(void) |
| | | {uint16_t i; |
| | | Usart1ParseDataCallback = UsartParseDataHandler; |
| | | parameter_init(); |
| | | deca_sleep(1000); |
| | | dev_id = g_com_map[DEV_ID_H]<<16|g_com_map[DEV_ID_L]; |
| | | #ifdef WORK_MODE_TAG |
| | | printf("æ ç¾ID: %d .\r\n",dev_id); |
| | | printf("é讯é´é: %d ms.\r\n",g_com_map[COM_INTERVAL]); |
| | | printf("忬¡é讯åºç«æ°é: %d个.\r\n",REPOET_ANC_NUM); |
| | | #else |
| | | anchor_type = dev_id%REPOET_ANC_NUM; |
| | | printf("åºç«ID: %x .\r\n",dev_id); |
| | | printf("åºç«ç±»å: %c .\r\n",anchor_type+0x41); |
| | | printf("忬¡é讯åºç«æ°é: %d个.\r\n",REPOET_ANC_NUM); |
| | | |
| | | // printf("DEVICE PAIRID: %d .\r\n",g_com_map[PAIR_ID]); |
| | | // printf("DEVICE ALARM DISTANCE: 1.%d 2.%d 3.%d .\r\n",g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],g_com_map[ALARM_DISTANCE3]); |
| | | #endif |
| | | |
| | | for(i=0;i<255;i++) |
| | | { |
| | | g_Tagdist[i]=0xffff; |
| | | } |
| | | } |
| | | |
| | | /*! ------------------------------------------------------------------------------------------------------------------ |
| | |
| | | * |
| | | * @return none |
| | | */ |
| | | |
| | | int main(void) |
| | | { |
| | | |
| | | |
| | | Device_Init(); |
| | | Program_Init(); |
| | | Dw1000_Init(); |
| | | |
| | | delay_ms(10); |
| | | #ifdef WORK_MODE_TAG |
| | | RTC_Configuration(g_com_map[COM_INTERVAL]*20); |
| | | tag_sleep_configuraion(); |
| | | #endif |
| | | Dw1000_App_Init(); |
| | | /* Loop forever initiating ranging exchanges. */ |
| | | RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); |
| | | usart_send[0]=0x55; |
| | | usart_send[1]=0xAA; |
| | | while(1) |
| | | { |
| | | #ifdef WORK_MODE_TAG |
| | | if(g_start_send_flag) |
| | | { |
| | | g_start_send_flag = 0; |
| | | Tag_App(); |
| | | } |
| | | // UART_CheckReceive(); |
| | | //PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); |
| | | #else |
| | | Anchor_App(); |
| | | #endif |
| | | //é¤UWBä¹å¤çå
¶ä»ä»£ç ... |
| | | |
| | | |
| | | } |
| | | } |
| | | |