| | |
| | | #define NSH1 0x0001 |
| | | #define GP 0x0002 |
| | | #define FLASH_HARDWARE_VERSION_MAP (uint32_t)0x08004F00 //硬件版本号和批次信息位置 |
| | | #define DEBUG_MODE |
| | | //#define DEBUG_MODE |
| | | uint8_t chongqi_flag; |
| | | uint32_t uwbled,gpsled,loraled,powerled; |
| | | UART_WakeUpTypeDef Selection; |
| | |
| | | |
| | | /* Private variables ---------------------------------------------------------*/ |
| | | ADC_HandleTypeDef hadc; |
| | | DMA_HandleTypeDef hdma_adc; |
| | | |
| | | IWDG_HandleTypeDef hiwdg; |
| | | |
| | |
| | | if(GPIO_Pin == RADIO_DIO1_Pin) |
| | | { |
| | | SystemClock_Config(); |
| | | // HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); |
| | | // HAL_GPIO_WritePin(RADIO_NSS_GPIO_Port, RADIO_NSS_Pin, GPIO_PIN_RESET); //片选lora有效 |
| | | // l_bIsVibration = HIDO_TRUE; |
| | | // nomove_time=0; |
| | | // printf("RXD :77777\r\n"); |
| | | irq_num++; |
| | | RadioIrqProcess(); |
| | | } |
| | |
| | | flag_onesecond = 0; |
| | | } |
| | | } |
| | | uint8_t debugnum; |
| | | uint8_t Lora_send_flag; |
| | | void Lora_Send_Poll(void) |
| | | { |
| | | if(Lora_send_flag) |
| | | { |
| | | debugnum++; |
| | | Lora_send_flag=0; |
| | | // LedTask(); |
| | | loraled=BLUE; |
| | | LoraReportPoll(); |
| | | flag_onesecond = 1; |
| | | |
| | | Set4LEDColor_Off(); |
| | | powerled=LEDOFF; |
| | | // loraled=LEDOFF; |
| | | gpsled=LEDOFF; |
| | | uwbled=LEDOFF; |
| | | //Set4LEDColor_Off(); |
| | | } |
| | | |
| | | } |
| | |
| | | //delay_ms(1000); |
| | | |
| | | Program_Init(); |
| | | LIS3DH_Data_Init(); |
| | | #ifdef _USE_BAR |
| | | BarInit(); |
| | | #endif |
| | | Dw1000_Init(); |
| | | // HardWareTypeDiffConfig(); |
| | | dwt_configuresleep(DWT_PRESRV_SLEEP | DWT_CONFIG, DWT_WAKE_CS | DWT_WAKE_WK| DWT_SLP_EN); |
| | | dwt_entersleep(); |
| | | if(HAL_UART_Receive_DMA(&huart1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE)) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | LIS3DH_Data_Init(); |
| | | delay_ms(1000); |
| | | GPS_Close_Init(); |
| | | HAL_UART_Receive_IT(&hlpuart1, (uint8_t *)GPSRxBuffer, 1); |
| | |
| | | HAL_Delay(500); |
| | | LoraInit(); |
| | | |
| | | #ifdef _USE_BAR |
| | | BarInit(); |
| | | #endif |
| | | if (HAL_LPTIM_TimeOut_Start_IT(&hlptim1, LPTIMER_1S_COUNT, 0) != HAL_OK) //system time is 1010ms 1 puls=30.518us |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | // Lora47X_Init(); |
| | | // Radio.Sleep(); |
| | | /* USER CODE END 2 */ |
| | | |
| | | /* Infinite loop */ |
| | |
| | | HAL_UARTEx_EnableStopMode( &hlpuart1 ); |
| | | HAL_UARTEx_StopModeWakeUpSourceConfig( &hlpuart1, Selection ); |
| | | __HAL_UART_ENABLE_IT(&hlpuart1, UART_IT_WUF); |
| | | // Set4LEDColor_Off(); |
| | | Set4LEDColor_Off(); |
| | | HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | */ |
| | | sConfig.Channel = ADC_CHANNEL_1; |
| | | sConfig.Rank = ADC_RANK_CHANNEL_NUMBER; |
| | | if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | |
| | | /** Configure for the selected ADC regular channel to be converted. |
| | | */ |
| | | sConfig.Channel = ADC_CHANNEL_VREFINT; |
| | | if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | |
| | | __HAL_RCC_DMA1_CLK_ENABLE(); |
| | | |
| | | /* DMA interrupt init */ |
| | | /* DMA1_Channel1_IRQn interrupt configuration */ |
| | | HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0); |
| | | HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); |
| | | /* DMA1_Channel2_3_IRQn interrupt configuration */ |
| | | HAL_NVIC_SetPriority(DMA1_Channel2_3_IRQn, 1, 0); |
| | | HAL_NVIC_EnableIRQ(DMA1_Channel2_3_IRQn); |
| | |
| | | |
| | | /*Configure GPIO pins : SCL_Pin SDA_Pin */ |
| | | GPIO_InitStruct.Pin = SCL_Pin|SDA_Pin; |
| | | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; |
| | | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
| | | GPIO_InitStruct.Pull = GPIO_NOPULL; |
| | | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
| | | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
| | |
| | | HAL_NVIC_SetPriority(EXTI0_1_IRQn, 2, 0); |
| | | HAL_NVIC_EnableIRQ(EXTI0_1_IRQn); |
| | | |
| | | HAL_NVIC_SetPriority(EXTI4_15_IRQn, 2, 0); |
| | | HAL_NVIC_SetPriority(EXTI4_15_IRQn, 0, 0); |
| | | HAL_NVIC_EnableIRQ(EXTI4_15_IRQn); |
| | | |
| | | } |