From 51b6c7e11c8863fe4710305431c5718a9d0d1985 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期一, 15 十一月 2021 20:02:38 +0800 Subject: [PATCH] V1.63 --- 源码/核心板/Src/main.c | 55 +++++++++++-------------------------------------------- 1 files changed, 11 insertions(+), 44 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" index e80c138..407a6aa 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" @@ -12,34 +12,7 @@ #include "ADC.h" //#define DEBUG_MODE -/* - * rlv:重装载寄存器的值,取值范围为:0-0XFFF - * 函数调用举例: - * IWDG_Config(IWDG_Prescaler_64 ,625); // IWDG 1s 超时溢出 - * (64/40)*625 = 1s - */ -void IWDG_Config(uint8_t prv ,uint16_t rlv) -{ - // 使能 预分频寄存器PR和重装载寄存器RLR可写 - IWDG_WriteAccessCmd( IWDG_WriteAccess_Enable ); - - // 设置预分频器值 - IWDG_SetPrescaler( prv ); - - // 设置重装载寄存器值 - IWDG_SetReload( rlv ); - - // 把重装载寄存器的值放到计数器中 - IWDG_ReloadCounter(); - - // 使能 IWDG - IWDG_Enable(); -} -void IWDG_Feed(void) -{ - IWDG_ReloadCounter(); -} void Device_Init(void) { RCC_Configuration(); @@ -54,8 +27,7 @@ Uart1_Init(); Spi_Init(); ADC_Configuration(); - IWDG_Config(IWDG_Prescaler_128 ,4095); //10s - IWDG_Feed(); + GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); } u8 anchor_type; @@ -73,7 +45,7 @@ memcpy(&hbsend[14],&checksum,2); } uint16_t vel_factor,pos_factor; -u16 tyncpoll_time,dist_threshold; +u16 tyncpoll_time; u16 slottime,max_slotpos; extern u8 module_power; extern u16 total_slotnum; @@ -100,13 +72,7 @@ { g_com_map[COM_INTERVAL]=100; } - - g_com_map[VERSION] = 0x012d; -dist_threshold = (g_com_map[SPEEDFILTER_THRES]*10)/(1000/g_com_map[COM_INTERVAL]); - if(dist_threshold<300) - {dist_threshold = 300;} - if(dist_threshold>15000) - {dist_threshold = 15000;} + g_com_map[VERSION] = 0x013F; g_com_map[SW_TYPE] = SW_FANGZHUANG; dev_id = g_com_map[DEV_ID]; slottime=ceil((double)g_com_map[MAX_REPORT_ANC_NUM]*SLOT_SCALE)+3; @@ -190,7 +156,7 @@ } if(flag_newsecond) { - uint32_t temp23; +// uint32_t temp23; // temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; // if(temp23!=0x4A480022) // { @@ -242,10 +208,12 @@ // Delay_ms(100); SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader } - if(g_com_map[CNT_REBOOT]==1) + if(g_com_map[CNT_REBOOT]==1) { - FactorySettings(); - + g_com_map[CNT_REBOOT]=0; + g_com_map[MAP_SIGN_INDEX]=0; + save_com_map_to_flash(); + delay_ms(100); SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader } if(g_com_map[CNT_RESTART]==1) @@ -255,13 +223,12 @@ delay_ms(100); SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader } - if(g_com_map[MAP_SIGN_INDEX]!=0x55AA||g_com_map[COM_INTERVAL]==0) + if(g_com_map[MAP_SIGN_INDEX]!=0x55AA||g_com_map[COM_INTERVAL]==0||g_com_map[COM_INTERVAL]>1000) { SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader } - } - + } int main(void) { -- Gitblit v1.9.3