| | |
| | | #include "global_param.h" |
| | | #include "ADC.h" |
| | | |
| | | #define DEBUG_MODE |
| | | |
| | | void Device_Init(void) |
| | | { |
| | |
| | | memcpy(&hbsend[14],&checksum,2); |
| | | } |
| | | u16 tyncpoll_time; |
| | | u16 slottime,max_slotpos; |
| | | void Program_Init(void) |
| | | {uint16_t i; |
| | | { float temp; |
| | | u16 temp2; |
| | | uint16_t i; |
| | | Usart1ParseDataCallback = UsartParseDataHandler; |
| | | parameter_init(); |
| | | //deca_sleep(1000); |
| | | HeartBeatInit(); |
| | | dev_id = g_com_map[DEV_ID]; |
| | | // g_com_map[DEV_ROLE]=1; |
| | | // g_com_map[DEV_ID]=1; |
| | | // g_com_map[COM_INTERVAL]=10; |
| | | #ifdef DEBUG_MODE |
| | | g_com_map[DEV_ROLE]=1; |
| | | g_com_map[DEV_ID]=4; |
| | | g_com_map[COM_INTERVAL]=100; |
| | | g_com_map[MAX_REPORT_ANC_NUM]=3; |
| | | #endif |
| | | OUT485_ENABLE; |
| | | g_com_map[VERSION] = 0x0105; |
| | | g_com_map[VERSION] = 0x0106; |
| | | dev_id = g_com_map[DEV_ID]; |
| | | temp=(float)g_com_map[MAX_REPORT_ANC_NUM]*4/3; |
| | | temp2=g_com_map[MAX_REPORT_ANC_NUM]*4/3; |
| | | if(temp2<temp) |
| | | { |
| | | temp2++; |
| | | } |
| | | slottime=temp2; |
| | | max_slotpos=g_com_map[COM_INTERVAL]/slottime; |
| | | tyncpoll_time=(g_com_map[DEV_ID]%max_slotpos)*slottime; |
| | | |
| | | if(g_com_map[DEV_ROLE]) |
| | | { |
| | | tyncpoll_time=g_com_map[DEV_ID]*g_com_map[MAX_REPORT_ANC_NUM]*4/3; |
| | |
| | | result = FLASH_Write(0x8004A38, (const uint8_t*)&tmp, 2); |
| | | __enable_irq(); |
| | | printf("杩涘叆鍗囩骇妯″紡\r\n"); |
| | | g_com_map[CNT_UPDATE]=0; |
| | | save_com_map_to_flash(); |
| | | delay_ms(100); |
| | | // STMFLASH_Write_NoCheck(0x8004A38,0xAAAA); |
| | | // Delay_ms(100); |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //杞浣嶅洖鍒癰ootloader |
| | |
| | | |
| | | while(1) |
| | | { |
| | | IdleTask(); |
| | | |
| | | if(g_start_send_flag) |
| | | { |
| | | g_start_send_flag = 0; |
| | | Tag_App(); |
| | | } |
| | | |
| | | IdleTask(); |
| | | if(g_com_map[DEV_ROLE]==0) |
| | | Anchor_App(); |
| | | } |