From 7e864f1d0b26f0e5dd4c073f8fe764eb286fe961 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期四, 06 五月 2021 12:59:59 +0800 Subject: [PATCH] 回退V1.41 无滤波 --- 源码/核心板/Src/main.c | 84 ++++++++--------------------------------- 1 files changed, 17 insertions(+), 67 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 f1c5bcf..003a31c 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,51 +12,7 @@ #include "ADC.h" //#define DEBUG_MODE -/* - * 设置 IWDG 的超时时间 - * Tout = prv/40 * rlv (s) - * prv可以是[4,8,16,32,64,128,256] - * prv:预分频器值,取值如下: - * @arg IWDG_Prescaler_4: IWDG prescaler set to 4 - * @arg IWDG_Prescaler_8: IWDG prescaler set to 8 - * @arg IWDG_Prescaler_16: IWDG prescaler set to 16 - * @arg IWDG_Prescaler_32: IWDG prescaler set to 32 - * @arg IWDG_Prescaler_64: IWDG prescaler set to 64 - * @arg IWDG_Prescaler_128: IWDG prescaler set to 128 - * @arg IWDG_Prescaler_256: IWDG prescaler set to 256 - * - * 独立看门狗使用LSI作为时钟。 - * LSI 的频率一般在 30~60KHZ 之间,根据温度和工作场合会有一定的漂移,我 - * 们一般取 40KHZ,所以独立看门狗的定时时间并一定非常精确,只适用于对时间精度 - * 要求比较低的场合。 - * - * 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(); @@ -71,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; @@ -90,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; @@ -117,13 +72,7 @@ { g_com_map[COM_INTERVAL]=100; } - - g_com_map[VERSION] = 0x012b; -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] = 0x012a; 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; @@ -208,15 +157,15 @@ if(flag_newsecond) { uint32_t temp23; -// temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; -// if(temp23!=0x4A480022) -// { -// temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; -// if(temp23!=0x4A480022) -// { -// NVIC_SystemReset(); -// } -// } + temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; + if(temp23!=0x4A480022) + { + temp23 = dwt_read32bitreg(CHAN_CTRL_ID) ; + if(temp23!=0x4A480022) + { + NVIC_SystemReset(); + } + } flag_newsecond=0; tagpos_binary=0; memcpy(ancidlist_send,ancidlist_rec,ancidlist_num*2); @@ -259,9 +208,11 @@ // 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 } @@ -272,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) { SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader } } - int main(void) { -- Gitblit v1.9.3