• 大小: 16.78MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2024-02-02
  • 语言: 其他
  • 标签:

资源简介

STM32+陀螺仪+GPS代码,是我们做项目的代码,有需要的可以参考一下

资源截图

代码片段和文件信息

/**
  ******************************************************************************
  * @file    GPS.c 
  * @author  武国庆
  * @date    2017-9-28
  * @brif    串口中断服务函数移至UART.c中
  ******************************************************************************
**/

#include “GPS.h“

_SaveData Save_Data;
uint32_t PPSvalue = 0;


/**
  * @brief  PPS引脚初始化PTB5,上升沿处罚中断,EXTI5中断
  * @retval 无
  */
 void PPS_INPUTInit(void)
{
GPIO_InitTypeDef   GPIO_InitStructure;

GPIOB_CLK_ENABLE();


GPIO_InitStructure.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStructure.Pull = GPIO_NOPULL;
GPIO_InitStructure.Pin = GPIO_PIN_4;
HAL_GPIO_Init(GPIOB &GPIO_InitStructure);


HAL_NVIC_SetPriority(EXTI4_IRQn 2 2);
HAL_NVIC_EnableIRQ(EXTI4_IRQn);
}


/**
  * @brief  EXTI0中断服务函数
  * @retval 无
  */
void EXTI4_IRQHandler(void)
{
__HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_4);
PPSvalue++;
}
/**
  * @brief  清除结构体变量
  * @retval 无
  */
void clrStruct(void)
{
Save_Data.isGetData = false;
Save_Data.isParseData = false;
Save_Data.isUsefull = false;
memset(Save_Data.GPS_Buffer 0 GPS_Buffer_Length);      //清空
memset(Save_Data.UTCTime 0 UTCTime_Length);
memset(Save_Data.latitude 0 latitude_Length);
memset(Save_Data.N_S 0 N_S_Length);
memset(Save_Data.longitude 0 longitude_Length);
memset(Save_Data.E_W 0 E_W_Length);

CLR_Buf();
}





/**
  * @brief  错误标志输出
  * @retval 无
  */
void errorLog(int num)
{

while (1)
{
   printf(“ERROR%d\r\n“num);
}
}


/**
  * @brief  接收GPS数据函数
  * @retval 无
  */
void Recive_GPS_Data(void)
{

//if(UartHandle.RxXferCount==0)
while(HAL_UART_Receive_IT(&UartHandle &Res 1)!=HAL_OK);  //使能接收中断
  
}


 

/**
  * @brief  
  * @retval 无
  */
void parseGpsBuffer(void)
{
char *subString;
char *subStringNext;
char i = 0;
if (Save_Data.isGetData)
{
Save_Data.isGetData = false;
printf(“**************\r\n“);
printf(Save_Data.GPS_Buffer);


for (i = 0 ; i <= 6 ; i++)
{
if (i == 0)
{
if ((subString = strstr(Save_Data.GPS_Buffer ““)) == NULL)
errorLog(1); //解析错误
}
else
{
subString++;
if ((subStringNext = strstr(subString ““)) != NULL)
{
char usefullBuffer[2]; 
switch(i)
{
case 1:memcpy(Save_Data.UTCTime subString subStringNext - subString);break; //获取UTC时间
case 2:memcpy(usefullBuffer subString subStringNext - subString);break; //获取UTC时间
case 3:memcpy(Save_Data.latitude subString subStringNext - subString);break; //获取纬度信息
case 4:memcpy(Save_Data.N_S subString subStringNext - subString);break; //获取N/S
case 5:memcpy(Save_Data.longitude subString subStringNext - subString);break; //获取经度信息
case 6:memcpy(Save_Data.E_W subString subStringNext - subString);break; //获取E/W

default:break;
}

subString = subStringNext;
Save_Data.isParseData = true;
if(usefullBuffer[0] == 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-09-13 09:34  srtp2_F7_code\
     目录           0  2017-09-12 10:43  srtp2_F7_code\CORE\
     文件       24423  2016-12-30 18:44  srtp2_F7_code\CORE\cmsis_armcc.h
     文件      139660  2016-12-30 18:44  srtp2_F7_code\CORE\core_cm7.h
     文件        3620  2016-12-30 18:44  srtp2_F7_code\CORE\core_cmFunc.h
     文件        3636  2016-12-30 18:44  srtp2_F7_code\CORE\core_cmInstr.h
     文件        3662  2016-12-30 18:44  srtp2_F7_code\CORE\core_cmSimd.h
     文件       34653  2016-12-30 18:45  srtp2_F7_code\CORE\startup_stm32f767xx.s
     目录           0  2017-09-29 22:34  srtp2_F7_code\DEVICE\
     文件        4019  2017-09-28 23:12  srtp2_F7_code\DEVICE\GPS.c
     文件        1184  2017-09-28 23:58  srtp2_F7_code\DEVICE\GPS.h
     文件        4589  2017-09-29 22:34  srtp2_F7_code\DEVICE\I2C.c
     文件        1190  2017-09-29 22:34  srtp2_F7_code\DEVICE\I2C.h
     文件        1575  2017-09-28 23:12  srtp2_F7_code\DEVICE\init.c
     文件         488  2017-08-01 10:21  srtp2_F7_code\DEVICE\init.h
     文件        3936  2017-09-28 23:12  srtp2_F7_code\DEVICE\mpu_9250.c
     文件        1915  2017-07-27 10:43  srtp2_F7_code\DEVICE\mpu_9250.h
     文件        3466  2017-09-29 00:00  srtp2_F7_code\DEVICE\UART.c
     文件         629  2017-09-28 23:55  srtp2_F7_code\DEVICE\UART.h
     目录           0  2017-09-12 10:41  srtp2_F7_code\HALLIB\
     目录           0  2017-09-12 10:41  srtp2_F7_code\HALLIB\Inc\
     目录           0  2017-09-12 10:41  srtp2_F7_code\HALLIB\Inc\Legacy\
     文件      178183  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\Legacy\stm32_hal_legacy.h
     文件       12327  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\stm32f7xx_hal.h
     文件       49390  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\stm32f7xx_hal_adc.h
     文件       23864  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\stm32f7xx_hal_adc_ex.h
     文件       36026  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\stm32f7xx_hal_can.h
     文件       34971  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\stm32f7xx_hal_cec.h
     文件       17803  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\stm32f7xx_hal_conf_template.h
     文件       18998  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\stm32f7xx_hal_cortex.h
     文件       16449  2016-12-30 18:46  srtp2_F7_code\HALLIB\Inc\stm32f7xx_hal_crc.h
............此处省略292个文件信息

评论

共有 条评论

相关资源