1
WXK
2024-03-18 d9321b6a77d97a67fb6e9f0a9fd4da73a1da4078
Src/main.c
@@ -46,11 +46,11 @@
uint8_t chongqi_flag;
uint32_t uwbled,gpsled,loraled,powerled;
UART_WakeUpTypeDef Selection;
uint8_t Close_RMC[20]="$CCMSG,RMC,1,0,*04\r\n";
uint8_t Close_GSA[20]="$CCMSG,GSA,1,0,*0D\r\n";
uint8_t Close_GSV[20]="$CCMSG,GSV,1,0,*1A\r\n";
uint8_t Close_GLL[20]="$CCMSG,GLL,1,0,*1F\r\n";
uint8_t Close_TXT[20]="$CCMSG,TXT,1,0,*00\r\n";
uint8_t Close_RMC[100]="$CCMSG,RMC,1,0,*04\r\n$CCMSG,GSA,1,0,*0D\r\n$CCMSG,GSV,1,0,*1A\r\n$CCMSG,GLL,1,0,*1F\r\n$CCMSG,TXT,1,0,*00\r\n";
//uint8_t Close_GSA[20]="$CCMSG,GSA,1,0,*0D\r\n";
//uint8_t Close_GSV[20]="$CCMSG,GSV,1,0,*1A\r\n";
//uint8_t Close_GLL[20]="$CCMSG,GLL,1,0,*1F\r\n";
//uint8_t Close_TXT[20]="$CCMSG,TXT,1,0,*00\r\n";
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
@@ -453,7 +453,6 @@
extern uint8_t GPSchangdu;
uint8_t no_yingdaflag;
extern  uint8_t GPS_GGAdate[200];
uint8_t GPS_GGAdate111[200]="报警";
@@ -463,20 +462,8 @@
}
void GPS_Close_Init()
{
    Delay_Ms(100);
    HAL_UART_Transmit(&hlpuart1,Close_RMC,20,1000);
//    Delay_Ms(100);
    HAL_UART_Transmit(&hlpuart1,Close_RMC,20,1000);
//    Delay_Ms(100);
    HAL_UART_Transmit(&hlpuart1,Close_GSA,20,1000);
//    Delay_Ms(100);
    HAL_UART_Transmit(&hlpuart1,Close_GSV,20,1000);
//    Delay_Ms(100);
    HAL_UART_Transmit(&hlpuart1,Close_GLL,20,1000);
//    Delay_Ms(100);
    HAL_UART_Transmit(&hlpuart1,Close_TXT,20,1000);
    Delay_Ms(100);
    HAL_UART_Transmit_DMA(&hlpuart1,Close_RMC,100);
    Delay_Ms(150);
}
extern uint16_t Lora_rece_error;
extern uint16_t Beepchixutime;
@@ -485,7 +472,7 @@
uint8_t ble_rx_success_flag;
uint8_t fangzhijinrushuimian_flag;
uint8_t GPSchangdu;
uint8_t GPS_GGAdate[200];
uint8_t GPS_GGAdate[400];
uint8_t GPS_GGAdatenum;
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 
{
@@ -538,17 +525,9 @@
    if(yuyin_sendflag)
    {
    yuyin_sendflag=0;
  //  SYN_FrameInfo(0,yuyin_yinliang);//设置音量等级V10
    SYN_FrameInfo(0,xiafayuyin_data); //播放内容
//    HAL_UART_Receive_IT(&huart6, &Get_Uart6_data, 1);
    memset(xiafayuyin_data,0,sizeof(xiafayuyin_data)); 
    }
//    if(Get_Uart6_data==0x4F)
//    {
//HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
//HAL_GPIO_WritePin(GPIOC, GPIO_PIN_12, GPIO_PIN_RESET);
//        Get_Uart6_data=0;
//    }
}
void PowerDownDetect(void)
{  
@@ -608,28 +587,15 @@
{
        if(Lora_send_flag)
        { 
//            memset(GPS_GGAdate,0,100);
//            HAL_UART_Receive_DMA(&hlpuart1,GPS_GGAdate, LPUART_SIZE);
//         GPS_Close_time++;
//        if(GPS_Close_time>5&&GPS_Close_flag)
//        {
//        GPS_Close_flag=0;
//        GPS_Close_Init();
//HAL_UART_Receive_DMA(&hlpuart1, (uint8_t *)GPS_GGAdate, 1);
//        }
//        if(GPS_Close_flag==0)
//        HAL_UART_Receive_IT(&hlpuart1, (uint8_t *)GPSRxBuffer, 1);
            debugnum++;
        Lora_send_flag=0;    
//        LedTask();
            loraled=BLUE;
        LoraReportPoll();
        flag_onesecond = 1;
        }
}
extern  volatile uint8_t rx_len ;  //接收一帧数据的长度
extern  volatile uint16_t rx_len ;  //接收一帧数据的长度
extern volatile uint8_t recv_end_flag; //一帧数据接收完成标志
void Lpuart_rx_Poll(void)
{
@@ -637,14 +603,12 @@
{
    recv_end_time=0;
GPS_ParseGGA(GPS_GGAdate, rx_len);  
//HAL_UART_Transmit_DMA(&hlpuart1, GPS_GGAdate,rx_len);
memset(GPS_GGAdate,0,rx_len);
rx_len = 0;//清除计数
recv_end_flag = 0;//清除接收结束标志位
fangzhijinrushuimian_flag=0;
//HAL_UART_Receive_DMA(&hlpuart1,GPS_GGAdate,LPUART_SIZE);//重新打开DMA接收
}
HAL_UART_Receive_DMA(&hlpuart1,GPS_GGAdate,LPUART_SIZE);//重新打开DMA接收
}
/* USER CODE END 0 */
@@ -678,7 +642,7 @@
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_ADC_Init();
  MX_IWDG_Init();
//  MX_IWDG_Init();
  MX_LPTIM1_Init();
  MX_USART1_UART_Init();
  MX_SPI1_Init();
@@ -702,7 +666,7 @@
    Set4LEDColor_Off();
    HAL_Delay(500);
    LoraInit();
//    delay_ms(1000);
bat_percent=Get_Battary();
        GPS_Close_flag=0;
        GPS_Close_Init();      
@@ -710,7 +674,7 @@
  {
    Error_Handler();
  } 
  HAL_UART_Receive_DMA(&hlpuart1,GPS_GGAdate,LPUART_SIZE);//重新打开DMA接收
//  HAL_UART_Receive_DMA(&hlpuart1,GPS_GGAdate,LPUART_SIZE);//重新打开DMA接收
  __HAL_UART_ENABLE_IT(&hlpuart1, UART_IT_IDLE); //使能IDLE中断
     if(HAL_UART_Receive_DMA(&huart1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE))
    {
@@ -1307,15 +1271,17 @@
    if(yuyin_no_sleep_flag==0)
    {
    recv_end_time++;
    if(recv_end_time>3)
    {HAL_NVIC_SystemReset();}
//    if(recv_end_time>3)
//    {HAL_NVIC_SystemReset();}
    }
    Yuying_Poll();
    Lora_send_flag=1;
    if(nomove_count++>g_com_map[STATIONARY_TIME])
    {
        stationary_flag = 1;
    } else {
    }
    else
    {
        stationary_flag = 0;
    }
    if(nomove_count>=g_com_map[NOMOVESLEEP_TIME]-1&&imu_enable)