|
#include "Rcc_Nvic_Systick.h"
|
#include "Usart.h"
|
#include "Spi.h"
|
#include "led.h"
|
#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"
|
|
#define WORK_MODE_TAG
|
//#define WORK_MODE_ANCHOR
|
|
void Device_Init(void)
|
{
|
// Rcc_Init();
|
SystemInit();
|
Nvic_Init();
|
Systick_Init();
|
#ifdef WORK_MODE_TAG
|
RTC_Configuration();
|
#endif
|
Led_Init();
|
Beep_Init();
|
DW_GPIO_Init();
|
Uart1_Init();
|
Spi_Init();
|
|
|
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
|
}
|
|
void Program_Init(void)
|
{uint16_t i;
|
Usart1ParseDataCallback = UsartParseDataHandler;
|
parameter_init();
|
for(i=0;i<255;i++)
|
{
|
g_Tagdist[i]=0xffff;
|
}
|
}
|
|
/*! ------------------------------------------------------------------------------------------------------------------
|
* @fn main()
|
*
|
* @brief Application entry point.
|
*
|
* @param none
|
*
|
* @return none
|
*/
|
|
int main(void)
|
{
|
|
Device_Init();
|
Program_Init();
|
Dw1000_Init();
|
|
#ifdef WORK_MODE_TAG
|
tag_sleep_configuraion();
|
#endif
|
Dw1000_App_Init();
|
/* Loop forever initiating ranging exchanges. */
|
while(1)
|
{
|
#ifdef WORK_MODE_TAG
|
if(g_start_send_flag)
|
{
|
g_start_send_flag = 0;
|
Tag_App();
|
}
|
// UART_CheckReceive();
|
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
|
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
|
#else
|
Anchor_App();
|
#endif
|
|
}
|
}
|