本程序适用于秉火STM32F103开发板对GPS模块传输回的数据进行解码。
本程序支持 使用协议 NMEA0183 4.0、 V2.3及 V3.X 版本的定位模块(如NEO-6M GPS模块ATGM332D GPS-北斗模块)
(由于GPS模块使用通用nmea协议,实际上大部分GPS模块都支持)。
【 !】实验操作:
1.把GPS模块按下面引脚分配说明与开发板连接好
2.给开发板烧录本程序
3.使用串口调试助手可接收开发板返回的调试信息,串口配置为:115200-N-1,
【*】注意事项:
在初次使用GPS模块时,由于没有记录信息,GPS模块需要花费较长时间来搜索卫星,
搜索时间受信号影响,如果不使用有源天线,请尽量在室外测试。
如果使用有源天线的话,接上后,把天线放到窗外即可很快搜索到卫星。
单片机源程序如下:
- #include "stm32f10x.h"
- #include "./usart/bsp_usart.h"
- #include "./gps/gps_config.h"
- #include "./lcd/bsp_ili9341_lcd.h"
- #include "./systick/bsp_SysTick.h"
- #include "./dht11/bsp_dht11.h"
- #include "./i2c/bsp_i2c_ee.h"
- #include "./flash/bsp_spi_flash.h"
- #include <stdio.h>
- #include <string.h>
- extern void nmea_decode_test(void);
- //static void LCD_Test(void);
- //int a1,b1,c1,d1;
- // int x=20;
- // int former1=0;
- // int former2=0;
- // int temp=0;
- // char * str1="humi";
- // char * str2="temp";
- // char * str3="100";
- // char * str4="20";
- // char * str5="(%)";
- // char * str6="30";
- // char * str7="(C)";
- // char * str8="32";
- int main(void)
- {
- ILI9341_Init ();
- SysTick_Init();
- DHT11_Init ();
- ILI9341_GramScan ( 6 );
- USART_Config();
- GPS_Config();
- //ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);
- while(1)
- {
-
- nmea_decode_test();
-
- // LCD_Test(a1,b1,c1,d1);
-
- Delay_ms(1000);
-
- }
- }
-
- // void LCD_Test(void)
- //{
- // DHT11_Data_TypeDef DHT11_Data;
- // char dispBuff[100];
- //
- // // DHT11_Read_TempAndHumidity ( & DHT11_Data );
- //
- // a1=DHT11_Data.humi_int;
- // b1=DHT11_Data.humi_deci;
- // c1=DHT11_Data.temp_int;
- // d1=DHT11_Data.temp_deci;
- //
- // LCD_SetFont(&Font8x16);
- // LCD_SetColors(RED,BLACK);
- //
- // ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,显示全黑 */
- // /*设置字体颜色及字体的背景颜色*/
- // LCD_SetColors(RED,BLACK);
- //
- // ILI9341_DispStringLine_EN(LINE(14)," Wildfire STM32-F103");
- // ILI9341_DispStringLine_EN(LINE(14),dispBuff);
- //}
复制代码
所有资料51hei提供下载:
3.GPS_LCD显示GPS和温湿度.7z
(575.87 KB, 下载次数: 33)
|