| | |
| | | #define NSH1 0x0001 |
| | | #define GP 0x0002 |
| | | #define FLASH_HARDWARE_VERSION_MAP (uint32_t)0x08004F00 //硬件版本号和批次信息位置 |
| | | #define DEBUG_MODE |
| | | //#define DEBUG_MODE |
| | | UART_WakeUpTypeDef Selection; |
| | | /* USER CODE END Includes */ |
| | | |
| | |
| | | /* MCU Configuration--------------------------------------------------------*/ |
| | | |
| | | /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ |
| | | |
| | | HAL_Init(); |
| | | |
| | | /* USER CODE BEGIN Init */ |
| | |
| | | |
| | | /* Initialize all configured peripherals */ |
| | | MX_GPIO_Init(); |
| | | |
| | | MX_USART1_UART_Init(); |
| | | MX_SPI1_Init(); |
| | | MX_ADC_Init(); |
| | | |
| | | // MX_IWDG_Init(); |
| | | // MX_DMA_Init(); |
| | | MX_IWDG_Init(); |
| | | MX_TIM2_Init(); |
| | | // MX_LPUART1_UART_Init(); |
| | | MX_LPUART1_UART_Init(); |
| | | MX_LPTIM1_Init(); |
| | | /* USER CODE BEGIN 2 */ |
| | | LED2_TB_ON; |
| | |
| | | Delay_Ms(10); |
| | | usart_send[0]=0x55; |
| | | usart_send[1]=0xaa; |
| | | bat_percent=Get_VDDVlotage(); |
| | | |
| | | HAL_UART_Receive_IT(&hlpuart1, (uint8_t *)GPSRxBuffer, 1); |
| | | HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET); //开GPS电源 |
| | | LoraInit(); |
| | |
| | | hadc.Init.OversamplingMode = DISABLE; |
| | | hadc.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2; |
| | | hadc.Init.Resolution = ADC_RESOLUTION_12B; |
| | | hadc.Init.SamplingTime = ADC_SAMPLETIME_1CYCLE_5; |
| | | hadc.Init.SamplingTime = ADC_SAMPLETIME_160CYCLES_5; |
| | | hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD; |
| | | hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT; |
| | | hadc.Init.ContinuousConvMode = DISABLE; |
| | |
| | | } |
| | | /** Configure for the selected ADC regular channel to be converted. |
| | | */ |
| | | sConfig.Channel = ADC_CHANNEL_VREFINT; |
| | | sConfig.Channel = ADC_CHANNEL_1; |
| | | sConfig.Rank = ADC_RANK_CHANNEL_NUMBER; |
| | | if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) |
| | | { |
| | |
| | | LedTask(); |
| | | LoraReportPoll(); |
| | | flag_onesecond = 1; |
| | | if(!GET_USERKEY) |
| | | { |
| | | key_keeptime+=1/(float)tag_frequency; |
| | | if(key_keeptime>=KEY_KEEPRESET_TIME) |
| | | { |
| | | SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; |
| | | } |
| | | }else{ |
| | | key_keeptime=0; |
| | | } |
| | | LED_TB_OFF; |
| | | LED_TR_OFF; |
| | | LED2_TB_OFF; |