欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: GPS北斗定位模塊相關STM32開發資料(源碼+配套軟件+手冊) [打印本頁]

作者: gongming    時間: 2018-3-6 09:34
標題: GPS北斗定位模塊相關STM32開發資料(源碼+配套軟件+手冊)
利用正點原子的探索者開發板做GPS定位


配套的軟件資料:

配套上位機及使用說明

封裝庫與電路原理圖:




實驗器材:
    阿波羅STM32F429開發板
   
實驗目的:
    學習ATK-S1216F8-BD模塊的使用,實現GPS/北斗定位
   
硬件資源:
    1,DS0(連接在PB1)
    2,串口1(波特率:115200,PA9/PA10連接在板載USB轉串口芯片CH340上面)
    3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模塊(通過FSMC驅動,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接口即可),連接關系如下:
    STM32開發板-->ATK-S1216F8-BD模塊
           PI11-->PPS
           PB10-->RXD
           PB11-->TXD
           GND-->GND
           5V-->VCC
   
實驗現象:
    通過串口2連接ATK-S1216F8-BD模塊,然后通過液晶顯示GPS信息,包括精度、緯度、高度、速度、
    用于定位的衛星數、可見衛星數、UTC時間等信息。同時,可以通過USMART工具,設置GPS模塊的刷
    新速率(最大支持20Hz刷新)和時鐘脈沖的配置。另外,通過KEY0按鍵,可以開啟或關閉NMEA數據的
    上傳(即輸出到串口1,方便開發調試)。
   
注意事項:
    1,4.3寸和7寸屏需要比較大電流,USB供電可能不足,請用外部電源適配器(推薦外接12V 1A電源).
    2,本例程在LCD_Init函數里面(在ILI93xx.c),用到了printf,如果不初始化串口1,將導致液晶無法顯示!!  
    3,本例程不支持ALIENTEK CPLD方案的7寸電容觸摸屏(V1版本)的測試!!
    4,ATK-S1216F8-BD模塊的波特率默認設置為38400(對應開發板的串口3)。
    5,務必短接阿波羅STM32F429開發板P9的PB11(RX)和GBC_TX以及PB10(TX)和GBC_RX
    6,開發板的串口1(USB_232轉出來的串口)的波特率是115200。
    7,如有其他問題,請參考<ATK-S1216F8-BD模塊問題匯總.pdf>(暫時沒有這個文檔)。
    8,本例程詳細說明,見光盤:9,增值資料\1,ALIENTEK 產品資料\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開發板擴展實驗16
  12. ATK-S1216F8 GPS/北斗模塊測試實驗-HAL庫函數版
  13. ************************************************/
  14. u8 USART1_TX_BUF[USART3_MAX_RECV_LEN];                                         //串口1,發送緩存區
  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);        //得到經度字符串
  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)                                                                                                                //定位狀態
  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衛星數
  42.         LCD_ShowString(30,220,200,16,16,dtbuf);            
  43.         sprintf((char *)dtbuf,"GPS Visible satellite:%02d",gpsx.svnum%100);                         //可見GPS衛星數
  44.         LCD_ShowString(30,240,200,16,16,dtbuf);
  45.        
  46.         sprintf((char *)dtbuf,"BD Visible satellite:%02d",gpsx.beidou_svnum%100);                         //可見北斗衛星數
  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);   //設置時鐘,180Mhz   
  61.   HAL_Init();                     //初始化HAL庫
  62.   delay_init(180);                //初始化延時函數
  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)        //設置定位信息更新速度為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);                        //重新設置模塊的波特率為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)                //接收到一次數據了
  94.                 {
  95.                         rxlen=USART3_RX_STA&0X7FFF;        //得到數據長度
  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;                        //自動添加結束符
  99.                         GPS_Analysis(&gpsx,(u8*)USART1_TX_BUF);//分析字符串
  100.                         Gps_Msg_Show();                                //顯示信息       
  101.                         if(upload)printf("\r\n%s\r\n",USART1_TX_BUF);//發送接收到的數據到串口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. }
復制代碼


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





作者: wlhuang    時間: 2018-3-8 15:44
感謝分享~
作者: jacky1223    時間: 2018-3-8 16:38
66666666666666
作者: 艾肯    時間: 2018-3-26 20:49
厲害厲害厲害
作者: zicren    時間: 2018-3-28 17:41
感謝分享!
作者: sqz    時間: 2018-4-14 09:28
請問不一樣的北斗模塊可以用這個程序嗎?是和芯星通um220-Ⅲ n 的,單片機是f407的可以嗎?
作者: 睡著的水    時間: 2018-4-16 15:20
很好很好
作者: 驍勇阿凱    時間: 2018-9-9 11:42
樓主很棒,請問具體的怎么把電子地圖做成底層數據呢?
作者: fyyy4030    時間: 2019-1-19 11:45
mark!!!!!!!!!!!!!!!!!!!!
作者: 0123456789z    時間: 2019-3-10 09:37
請問天宮測控的skg09a可以通用嗎

作者: heaven666    時間: 2019-3-25 08:50
請問樓主有北斗模塊接收到的數據在串口調試助手上顯示的代碼 嗎
作者: 貓の傲嬌    時間: 2019-5-15 09:01
非常感謝
作者: PO999999    時間: 2019-5-16 13:51
感謝分享
作者: pic114    時間: 2019-11-2 11:31
非常感謝..........
作者: 小白不懂店    時間: 2019-11-5 19:31
感謝大神
作者: zxg_751005    時間: 2019-12-27 10:17
支持國貨
作者: 643166069    時間: 2019-12-29 07:35
支持 以前用GPS多一些,準備入手北斗試一下~
作者: baogang    時間: 2020-2-12 15:54
感謝分享,正在找這方面的資料。
作者: 盧拓拓    時間: 2020-3-13 12:52
感謝分享
作者: Patrick6277    時間: 2020-6-11 21:21
感謝分享
作者: 潛在學習    時間: 2020-7-20 10:38
我下載的文件里邊,打開沒有任何內容?
作者: 1981818001    時間: 2020-11-19 14:11
潛在學習 發表于 2020-7-20 10:38
我下載的文件里邊,打開沒有任何內容?

升級winrar
作者: myw1999    時間: 2021-3-8 16:42
我找到一個是正點原子ATK-NEO-6M的GPS模塊實驗,請問跟這一個S1216有什么區別嗎
作者: 菜菜zz    時間: 2022-4-24 19:53
北斗汽車導航定位 系統設計與研究。。。可以參考這個嗎?
作者: huaishang    時間: 2024-6-22 14:50

感謝分享,正在找這方面的資料。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1