久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 24810|回復(fù): 24
打印 上一主題 下一主題
收起左側(cè)

GPS北斗定位模塊相關(guān)STM32開發(fā)資料(源碼+配套軟件+手冊)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:288041 發(fā)表于 2018-3-6 09:34 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
利用正點原子的探索者開發(fā)板做GPS定位


配套的軟件資料:

配套上位機及使用說明

封裝庫與電路原理圖:




實驗器材:
    阿波羅STM32F429開發(fā)板
   
實驗?zāi)康?
    學(xué)習(xí)ATK-S1216F8-BD模塊的使用,實現(xiàn)GPS/北斗定位
   
硬件資源:
    1,DS0(連接在PB1)
    2,串口1(波特率:115200,PA9/PA10連接在板載USB轉(zhuǎn)串口芯片CH340上面)
    3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模塊(通過FSMC驅(qū)動,FSMC_NE4接LCD片選/A18接RS),或者RGB接口的4.3/7寸液晶屏
    4,按鍵KEY0(PH3)
    5,串口3(波特率:38400,PB10/PB11連接ATK-S1216F8-BD模塊)
    6,ATK MODULE接口&ATK-S1216F8-BD模塊(模塊直接插ATK MODULE接口即可),連接關(guān)系如下:
    STM32開發(fā)板-->ATK-S1216F8-BD模塊
           PI11-->PPS
           PB10-->RXD
           PB11-->TXD
           GND-->GND
           5V-->VCC
   
實驗現(xiàn)象:
    通過串口2連接ATK-S1216F8-BD模塊,然后通過液晶顯示GPS信息,包括精度、緯度、高度、速度、
    用于定位的衛(wèi)星數(shù)、可見衛(wèi)星數(shù)、UTC時間等信息。同時,可以通過USMART工具,設(shè)置GPS模塊的刷
    新速率(最大支持20Hz刷新)和時鐘脈沖的配置。另外,通過KEY0按鍵,可以開啟或關(guān)閉NMEA數(shù)據(jù)的
    上傳(即輸出到串口1,方便開發(fā)調(diào)試)。
   
注意事項:
    1,4.3寸和7寸屏需要比較大電流,USB供電可能不足,請用外部電源適配器(推薦外接12V 1A電源).
    2,本例程在LCD_Init函數(shù)里面(在ILI93xx.c),用到了printf,如果不初始化串口1,將導(dǎo)致液晶無法顯示!!  
    3,本例程不支持ALIENTEK CPLD方案的7寸電容觸摸屏(V1版本)的測試!!
    4,ATK-S1216F8-BD模塊的波特率默認設(shè)置為38400(對應(yīng)開發(fā)板的串口3)。
    5,務(wù)必短接阿波羅STM32F429開發(fā)板P9的PB11(RX)和GBC_TX以及PB10(TX)和GBC_RX
    6,開發(fā)板的串口1(USB_232轉(zhuǎn)出來的串口)的波特率是115200。
    7,如有其他問題,請參考<ATK-S1216F8-BD模塊問題匯總.pdf>(暫時沒有這個文檔)。
    8,本例程詳細說明,見光盤:9,增值資料\1,ALIENTEK 產(chǎn)品資料\16,ATK-S1216F8-BD模塊\ATK-S1216F8-BD模塊使用說明_AN1605D.pdf


stm32單片機源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "key.h"
  6. #include "sdram.h"
  7. #include "lcd.h"
  8. #include "usmart.h"
  9. #include "gps.h"
  10. /************************************************
  11. ALIENTEK 阿波羅STM32F429開發(fā)板擴展實驗16
  12. ATK-S1216F8 GPS/北斗模塊測試實驗-HAL庫函數(shù)版
  13. ************************************************/
  14. u8 USART1_TX_BUF[USART3_MAX_RECV_LEN];                                         //串口1,發(fā)送緩存區(qū)
  15. nmea_msg gpsx;                                                                                         //GPS信息
  16. __align(4) u8 dtbuf[50];                                                                   //打印緩存器
  17. const u8*fixmode_tbl[4]={"Fail","Fail"," 2D "," 3D "};        //fix mode字符串
  18.           
  19. //顯示GPS定位信息
  20. void Gps_Msg_Show(void)
  21. {
  22.         float tp;                  
  23.         POINT_COLOR=BLUE;           
  24.         tp=gpsx.longitude;          
  25.         sprintf((char *)dtbuf,"Longitude:%.5f %1c   ",tp/=100000,gpsx.ewhemi);        //得到經(jīng)度字符串
  26.         LCD_ShowString(30,120,200,16,16,dtbuf);                   
  27.         tp=gpsx.latitude;          
  28.         sprintf((char *)dtbuf,"Latitude:%.5f %1c   ",tp/=100000,gpsx.nshemi);        //得到緯度字符串
  29.         LCD_ShowString(30,140,200,16,16,dtbuf);                  
  30.         tp=gpsx.altitude;          
  31.         sprintf((char *)dtbuf,"Altitude:%.1fm     ",tp/=10);                                    //得到高度字符串
  32.         LCD_ShowString(30,160,200,16,16,dtbuf);                                   
  33.         tp=gpsx.speed;          
  34.         sprintf((char *)dtbuf,"Speed:%.3fkm/h     ",tp/=1000);                                    //得到速度字符串         
  35.         LCD_ShowString(30,180,200,16,16,dtbuf);                                             
  36.         if(gpsx.fixmode<=3)                                                                                                                //定位狀態(tài)
  37.         {  
  38.                 sprintf((char *)dtbuf,"Fix Mode:%s",fixmode_tbl[gpsx.fixmode]);       
  39.           LCD_ShowString(30,200,200,16,16,dtbuf);                          
  40.         }                     
  41.         sprintf((char *)dtbuf,"GPS+BD Valid satellite:%02d",gpsx.posslnum);                         //用于定位的GPS衛(wèi)星數(shù)
  42.         LCD_ShowString(30,220,200,16,16,dtbuf);            
  43.         sprintf((char *)dtbuf,"GPS Visible satellite:%02d",gpsx.svnum%100);                         //可見GPS衛(wèi)星數(shù)
  44.         LCD_ShowString(30,240,200,16,16,dtbuf);
  45.        
  46.         sprintf((char *)dtbuf,"BD Visible satellite:%02d",gpsx.beidou_svnum%100);                         //可見北斗衛(wèi)星數(shù)
  47.         LCD_ShowString(30,260,200,16,16,dtbuf);
  48.        
  49.         sprintf((char *)dtbuf,"UTC Date:%04d/%02d/%02d   ",gpsx.utc.year,gpsx.utc.month,gpsx.utc.date);        //顯示UTC日期
  50.         LCD_ShowString(30,280,200,16,16,dtbuf);                    
  51.         sprintf((char *)dtbuf,"UTC Time:%02d:%02d:%02d   ",gpsx.utc.hour,gpsx.utc.min,gpsx.utc.sec);        //顯示UTC時間
  52.   LCD_ShowString(30,300,200,16,16,dtbuf);                  
  53. }   
  54. int main(void)
  55. {
  56.         u16 i,rxlen;
  57.         u16 lenx;
  58.         u8 key=0XFF;
  59.         u8 upload=0;
  60.         Stm32_Clock_Init(360,25,2,8);   //設(shè)置時鐘,180Mhz   
  61.   HAL_Init();                     //初始化HAL庫
  62.   delay_init(180);                //初始化延時函數(shù)
  63.   uart_init(115200);              //初始化USART1
  64.         usart3_init(38400);                                                  //初始化串口3波特率為38400
  65.         SDRAM_Init();                   //初始化SDRAM
  66.         LCD_Init();                     //LCD初始化
  67.         LED_Init();                     //初始化LED
  68.   KEY_Init();                     //初始化按鍵
  69.         usmart_dev.init(90);                                                //初始化usmart
  70.         POINT_COLOR=RED;
  71.         LCD_ShowString(30,20,200,16,16,"Apollo STM32F4/F7 ^_^");          
  72.         LCD_ShowString(30,40,200,16,16,"S1216F8-BD TEST");       
  73.         LCD_ShowString(30,60,200,16,16,"ATOM@ALIENTEK");
  74.         LCD_ShowString(30,80,200,16,16,"KEY0:Upload NMEA Data SW");                                                                                                         
  75.   LCD_ShowString(30,100,200,16,16,"NMEA Data Upload:OFF");
  76.         if(SkyTra_Cfg_Rate(5)!=0)        //設(shè)置定位信息更新速度為5Hz,順便判斷GPS模塊是否在位.
  77.         {
  78.            LCD_ShowString(30,120,200,16,16,"SkyTraF8-BD Setting...");
  79.                 do
  80.                 {
  81.                         usart3_init(9600);                        //初始化串口3波特率為9600
  82.                   SkyTra_Cfg_Prt(3);                        //重新設(shè)置模塊的波特率為38400
  83.                         usart3_init(38400);                        //初始化串口3波特率為38400
  84.       key=SkyTra_Cfg_Tp(100000);        //脈沖寬度為100ms
  85.                 }while(SkyTra_Cfg_Rate(5)!=0&&key!=0);//配置SkyTraF8-BD的更新速率為5Hz
  86.           LCD_ShowString(30,120,200,16,16,"SkyTraF8-BD Set Done!!");
  87.                 delay_ms(500);
  88.                 LCD_Fill(30,120,30+200,120+16,WHITE);//清除顯示
  89.         }
  90.         while(1)
  91.         {               
  92.                 delay_ms(1);
  93.                 if(USART3_RX_STA&0X8000)                //接收到一次數(shù)據(jù)了
  94.                 {
  95.                         rxlen=USART3_RX_STA&0X7FFF;        //得到數(shù)據(jù)長度
  96.                         for(i=0;i<rxlen;i++)USART1_TX_BUF[i]=USART3_RX_BUF[i];          
  97.                         USART3_RX_STA=0;                           //啟動下一次接收
  98.                         USART1_TX_BUF[i]=0;                        //自動添加結(jié)束符
  99.                         GPS_Analysis(&gpsx,(u8*)USART1_TX_BUF);//分析字符串
  100.                         Gps_Msg_Show();                                //顯示信息       
  101.                         if(upload)printf("\r\n%s\r\n",USART1_TX_BUF);//發(fā)送接收到的數(shù)據(jù)到串口1
  102.                 }
  103.                 key=KEY_Scan(0);
  104.                 if(key==KEY0_PRES)
  105.                 {
  106.                         upload=!upload;
  107.                         POINT_COLOR=RED;
  108.                         if(upload)LCD_ShowString(30,100,200,16,16,"NMEA Data Upload:ON ");
  109.                         else LCD_ShowString(30,100,200,16,16,"NMEA Data Upload:OFF");
  110.                 }
  111.                 if((lenx%500)==0)
  112.                         LED0=!LED0;
  113.                 lenx++;       
  114.         }
  115. }
復(fù)制代碼


所有資料51hei提供下載:
16,ATK-S1216 GPS 北斗定位模塊.rar (13.25 MB, 下載次數(shù): 513)




評分

參與人數(shù) 1黑幣 +9 收起 理由
hzd530 + 9 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏30 分享淘帖 頂5 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:289218 發(fā)表于 2018-3-8 15:44 | 只看該作者
感謝分享~
回復(fù)

使用道具 舉報

板凳
ID:289276 發(fā)表于 2018-3-8 16:38 | 只看該作者
66666666666666
回復(fù)

使用道具 舉報

地板
ID:297499 發(fā)表于 2018-3-26 20:49 | 只看該作者
厲害厲害厲害
回復(fù)

使用道具 舉報

5#
ID:298446 發(fā)表于 2018-3-28 17:41 | 只看該作者
感謝分享!
回復(fù)

使用道具 舉報

6#
ID:306441 發(fā)表于 2018-4-14 09:28 | 只看該作者
請問不一樣的北斗模塊可以用這個程序嗎?是和芯星通um220-Ⅲ n 的,單片機是f407的可以嗎?
回復(fù)

使用道具 舉報

7#
ID:309258 發(fā)表于 2018-4-16 15:20 來自手機 | 只看該作者
很好很好
回復(fù)

使用道具 舉報

8#
ID:322248 發(fā)表于 2018-9-9 11:42 | 只看該作者
樓主很棒,請問具體的怎么把電子地圖做成底層數(shù)據(jù)呢?
回復(fù)

使用道具 舉報

9#
ID:416404 發(fā)表于 2019-1-19 11:45 | 只看該作者
mark!!!!!!!!!!!!!!!!!!!!
回復(fù)

使用道具 舉報

10#
ID:487733 發(fā)表于 2019-3-10 09:37 | 只看該作者
請問天宮測控的skg09a可以通用嗎
回復(fù)

使用道具 舉報

11#
ID:476348 發(fā)表于 2019-3-25 08:50 | 只看該作者
請問樓主有北斗模塊接收到的數(shù)據(jù)在串口調(diào)試助手上顯示的代碼 嗎
回復(fù)

使用道具 舉報

12#
ID:538569 發(fā)表于 2019-5-15 09:01 | 只看該作者
非常感謝
回復(fù)

使用道具 舉報

13#
ID:524764 發(fā)表于 2019-5-16 13:51 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

14#
ID:634277 發(fā)表于 2019-11-2 11:31 | 只看該作者
非常感謝..........
回復(fù)

使用道具 舉報

15#
ID:635041 發(fā)表于 2019-11-5 19:31 | 只看該作者
感謝大神
回復(fù)

使用道具 舉報

16#
ID:631046 發(fā)表于 2019-12-27 10:17 | 只看該作者
支持國貨
回復(fù)

使用道具 舉報

17#
ID:90726 發(fā)表于 2019-12-29 07:35 | 只看該作者
支持 以前用GPS多一些,準(zhǔn)備入手北斗試一下~
回復(fù)

使用道具 舉報

18#
ID:601868 發(fā)表于 2020-2-12 15:54 | 只看該作者
感謝分享,正在找這方面的資料。
回復(fù)

使用道具 舉報

19#
ID:655963 發(fā)表于 2020-3-13 12:52 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

20#
ID:773086 發(fā)表于 2020-6-11 21:21 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

21#
ID:567183 發(fā)表于 2020-7-20 10:38 | 只看該作者
我下載的文件里邊,打開沒有任何內(nèi)容?
回復(fù)

使用道具 舉報

22#
ID:87156 發(fā)表于 2020-11-19 14:11 | 只看該作者
潛在學(xué)習(xí) 發(fā)表于 2020-7-20 10:38
我下載的文件里邊,打開沒有任何內(nèi)容?

升級winrar
回復(fù)

使用道具 舉報

23#
ID:888678 發(fā)表于 2021-3-8 16:42 | 只看該作者
我找到一個是正點原子ATK-NEO-6M的GPS模塊實驗,請問跟這一個S1216有什么區(qū)別嗎
回復(fù)

使用道具 舉報

24#
ID:1021341 發(fā)表于 2022-4-24 19:53 | 只看該作者
北斗汽車導(dǎo)航定位 系統(tǒng)設(shè)計與研究。。。可以參考這個嗎?
回復(fù)

使用道具 舉報

25#
ID:25103 發(fā)表于 2024-6-22 14:50 | 只看該作者

感謝分享,正在找這方面的資料。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av手机免费在线观看 | 日韩精品一区二区三区第95 | 国产日韩欧美一区二区 | 天天操夜夜艹 | 综合久久久久久久 | 日韩欧美在线观看 | 在线一级片 | 亚洲高清视频一区二区 | 久久综合久久久 | 亚洲国产精品久久 | 日韩欧美成人精品 | 日本精品一区二区三区在线观看视频 | 精品国产一区二区三区久久影院 | 欧美女优在线观看 | www.日本在线 | 国产伦精品一区二区三区照片91 | 亚洲精品在线观看视频 | 99久久精品国产一区二区三区 | 福利在线观看 | 精品久久久久久久久久久久久久 | 日本午夜网 | 91日日 | 欧美精品一区二区三区在线播放 | 日韩成人在线免费视频 | 亚洲福利网 | 亚洲码欧美码一区二区三区 | 日韩中文字幕在线观看 | 久久艹免费视频 | 久久黄色| 91伊人| 国产毛片av | 精品动漫一区 | 污片在线观看 | 欧美视频免费在线 | 亚洲精久 | 一区二区三区在线播放 | 日韩中文字幕 | 日韩靠逼 | 国产区精品 | 99精品在线观看 | 亚洲成人一区二区 |