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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

51單片機(jī)GPS經(jīng)緯度信息發(fā)送與顯示的實(shí)物制作與源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
利用GPS北斗ATGM336H-5N模塊輸出的原始定位信息,發(fā)到單片機(jī)后進(jìn)行處理,提取有用的信息如經(jīng)緯度、速度、海拔、日期等,通過串口發(fā)到電腦的串口調(diào)試助手進(jìn)行顯示,并顯示到LCD屏幕。


程序的功能有GPS信息顯示與發(fā)送(LCD顯示經(jīng)緯度、海拔、速度,電腦串口接收時(shí)間、日期、經(jīng)緯度、海拔、速度數(shù)據(jù))
GPS原始數(shù)據(jù)捕獲(從一開始通電時(shí)不完整到過一會(huì)后完整)見附件
GPS原始數(shù)據(jù)捕獲與簡(jiǎn)單分析:
$GNGGA,120726.000,3208.0858,N,11841.7828,E,1,05,4.3,12.7,M,0.0,M,,*40
$GNGLL,3208.0858,N,11841.7828,E,120726.000,A,A*43
$GPGSA,A,3,12,25,,,,,,,,,,,6.9,4.3,5.4*3F
$BDGSA,A,3,10,04,07,,,,,,,,,,6.9,4.3,5.4*28
$GPGSV,3,1,12,04,,,21,10,66,313,,12,42,100,34,14,21,289,*49
$GPGSV,3,2,12,15,18,086,,18,79,174,27,20,13,143,24,21,18,203,*73
$GPGSV,3,3,12,24,40,042,,25,37,150,31,31,10,230,,32,33,301,*7A
$BDGSV,1,1,04,03,,,35,04,32,122,34,07,54,184,34,10,33,200,36*50
$GNRMC,120726.000,A,3208.0858,N,11841.7828,E,0.11,303.11,031017,,,A*70
$GNVTG,303.11,T,,M,0.11,N,0.20,K,A*21
$GNZDA,120726.000,03,10,2017,00,00*4E
$GPTXT,01,01,01,ANTENNA OK*35

原始數(shù)據(jù)中逗號(hào)數(shù)量和順序的統(tǒng)計(jì):
--------------------------
      1          2         3 4          5 6 7  8   9   a b   c d                        
$GNGGA,034214.000,3208.1201,N,11841.7167,E,1,07,1.7,7.7,M,0.0,M,,*7 OK*
      1          2 3         4 5          6 7    8      9      abc                     
$GNRMC,034214.000,A,3208.1201,N,11841.7167,E,2.71,336.76,041017,,,A*700
--------------------------

GPS原始數(shù)據(jù)及處理后的數(shù)據(jù)
(見附件)

單片機(jī)源程序如下:
  1. /*******************************************************************************
  2.         單片機(jī)的RXD端口接收來(lái)自GPS模塊的數(shù)據(jù),把數(shù)據(jù)進(jìn)行處理,并顯示到Lcd上,同時(shí)
  3. 通過TXD端口經(jīng)過USB-TTL模塊發(fā)送到電腦的串口調(diào)試軟件上顯示。
  4.         注意事項(xiàng):
  5.         1、串口調(diào)試軟件的波特率要設(shè)為9600;
  6.         2、單片機(jī)與USB-TTL模塊兩者要共地。。。ㄎ乙膊恢獮槭裁,攤手.jpg)
  7. *******************************************************************************/
  8. #include "reg52.h"
  9. #include "main.h"
  10. #include "LCD1602.h"
  11. #include "GPS.h"

  12. unsigned char xdata Display_GPGGA_Buffer[68]={0};                //用于儲(chǔ)存GPGGA的數(shù)據(jù)
  13. unsigned char xdata Display_GPRMC_Buffer[68]={0};                //用于儲(chǔ)存GPRMC的數(shù)據(jù)
  14. unsigned int k=0,qian_a=0,hou_a=0,qian_b=0,hou_b=0,qian_c=0,hou_c=0;        //存儲(chǔ)前后逗號(hào)的位置序號(hào)的變量
  15. bit qian_OK=0;                   //已找出前面的逗號(hào)的標(biāo)志變量
  16. bit First_Share_OK=0;  //已開始LCD顯示的標(biāo)志變量
  17. bit jiajian=1;                    //進(jìn)行加或減的標(biāo)志變量
  18. //bit Page = 0;
  19. bit Flag_OV = 0;           //日期需進(jìn)位的標(biāo)志變量
  20. bit Flag_Calc_GPGGA_OK = 0;           //GPGGA完整有效的數(shù)據(jù)已收到的標(biāo)志變量
  21. bit Flag_Calc_GPRMC_OK = 0;           //GPRMC完整有效的數(shù)據(jù)已收到的標(biāo)志變量

  22. //****************************************************
  23. //主函數(shù)
  24. //****************************************************
  25. void main()
  26. {
  27.         unsigned int i = 0;
  28.         unsigned int j=0;
  29.         Init_LCD1602();                                                                        //LCD初始化
  30.         LCD1602_write_com(0x80);                                                //LCD指針設(shè)置到第一行第一列
  31.         LCD1602_write_word("Searching data. ");                        //顯示正在搜索數(shù)據(jù)

  32.         Uart_Init();                                                                        //串口初始化

  33.         while(1)
  34.         {
  35. //                Scan_Key();
  36.                 qian_OK=0;                                                                        //標(biāo)志變量歸零
  37.                 k=0;                                                                                //累計(jì)量歸零

  38.                 if (First_Share_OK==0)                                  //讓變量j在0~10000之間來(lái)回增減,增加到10000時(shí)顯示". ",減到0時(shí)顯示" .",實(shí)現(xiàn)兩點(diǎn)來(lái)回閃動(dòng)
  39.                 {
  40.                         if (jiajian==1)
  41.                         {
  42.                                 j++;
  43.                                 if (j==10000)
  44.                                 {
  45.                                         jiajian=0;
  46.                                         LCD1602_write_com(0x8e);
  47.                                         LCD1602_write_data('.');
  48.                                         LCD1602_write_com(0x8f);
  49.                                         LCD1602_write_data(' ');               
  50.                                 }
  51.                         }
  52.                         else
  53.                         {
  54.                                 j--;
  55.                                 if (j==0)
  56.                                 {
  57.                                         jiajian=1;
  58.                                         LCD1602_write_com(0x8e);
  59.                                         LCD1602_write_data(' ');
  60.                                         LCD1602_write_com(0x8f);
  61.                                         LCD1602_write_data('.');
  62.                                 }
  63.                         }        
  64.                 }

  65. //代碼詳見附件
  66. //                {
  67. //                        UartPrintf("----------------------------------------------\r\n");
  68. //                        UartPrintf(RX_Buffer);
  69. //                        UartPrintf("\r\n");
  70. //                }        
  71.                         

  72.                 if (   Flag_GPS_OK  == 1
  73.                            && RX_Buffer[1] == 'G'
  74.                         && RX_Buffer[3] == 'G'
  75.                         && RX_Buffer[4] == 'G'
  76.                         && RX_Buffer[5] == 'A'
  77.                         && (RX_Buffer[28] == 'N'|| RX_Buffer[28] == 'S')
  78.                         && (RX_Buffer[41] == 'E'|| RX_Buffer[41] == 'W') )                //確認(rèn)是否收到"GPGGA"這一幀完整有效的數(shù)據(jù)
  79.                 {
  80.                         for( i = 0; i < 67 ; i++)                                                  //必須為i<67,因?yàn)橐_保Display_GPGGA_Buffer[67]為'\0',便于串口發(fā)送
  81.                         {
  82.                                 Display_GPGGA_Buffer[i] = RX_Buffer[i];                  //儲(chǔ)存到數(shù)組中
  83.                         }
  84.                         Flag_Calc_GPGGA_OK = 1;                                                          //收到完整有效數(shù)據(jù)后,置為1
  85.                 }

  86.                 if(Flag_Calc_GPGGA_OK == 1)                                                          //已收到完整有效的數(shù)據(jù),可以進(jìn)行顯示,
  87.                 {
  88.                         Flag_Calc_GPGGA_OK = 0;                                                          //標(biāo)志位歸零

  89.                         if (First_Share_OK == 0)
  90.                         {
  91.                                 First_Share_OK=1;                                                          //"Searching data. "不需再顯示,標(biāo)志變量置為1
  92.                                 LCD1602_write_com(0x01);                                          //先清屏
  93.                         }
  94.         
  95.                         LCD1602_write_com(0x80);                                       
  96.                         LCD1602_write_data(Display_GPGGA_Buffer[28]);                        //顯示 N 或者 S
  97.                         LCD1602_write_word(": ");
  98.                         LCD1602_write_data(Display_GPGGA_Buffer[18]);                        //緯度
  99.                         LCD1602_write_data(Display_GPGGA_Buffer[19]);                        
  100.                         LCD1602_write_data(0xdf);                                                                //度符號(hào)的ASCII碼,16進(jìn)制
  101.                         LCD1602_write_data(Display_GPGGA_Buffer[20]);                        //緯度
  102.                         LCD1602_write_data(Display_GPGGA_Buffer[21]);                        
  103.                         LCD1602_write_word("'");                                                                //秒

  104.                         for (i=0;i<68;i++)                                                  //由于海拔有時(shí)是1位數(shù)有時(shí)是2位數(shù)有時(shí)是3位數(shù),不定
  105.                         {                                                                                  //而確定的是其數(shù)值在第9與第10個(gè)逗號(hào)之間,所以用此算法輸出海拔
  106.                                 if ( Display_GPGGA_Buffer[i]==',' )          //逐個(gè)檢索
  107.                                         k++;                                                          //k計(jì)算逗號(hào)數(shù)量
  108.                                 if (k==9&&qian_OK==0)
  109.                                         qian_a=i,qian_OK=1;                                  //找到第9個(gè),則記錄其序號(hào),同時(shí)標(biāo)志變量置為1
  110.                                 if (k==10)                                                          //海拔數(shù)據(jù)位于第9~10個(gè)逗號(hào)之間
  111.                                 {
  112.                                         hou_a=i;                                                  //記錄第10個(gè)的序號(hào)
  113.                                         k=0;                                                           //歸零
  114.                                         qian_OK=0;                                                  //重置為0
  115.                                         break;                                                          //找到后直接跳出循環(huán)
  116.                                 }               
  117.                         }
  118.                         LCD1602_write_com(0x89);                                                  //準(zhǔn)備在第一行第9列輸出海拔數(shù)據(jù)
  119.                         switch(hou_a-qian_a-1)                                                        //計(jì)算海拔數(shù)據(jù)的長(zhǎng)度
  120.                         {
  121.                                 case 3:LCD1602_write_word("   ");break;                //根據(jù)海拔數(shù)據(jù)長(zhǎng)度輸出對(duì)應(yīng)所需的空格數(shù),使其顯示方式為右對(duì)齊
  122.                                 case 4:LCD1602_write_word("  ");break;
  123.                                 case 5:LCD1602_write_word(" ");break;
  124.                                 case 6:break;
  125.                                 case 7:break;
  126.                         }                        
  127.                         for (i=qian_a+1; i<=hou_a-1; i++)
  128.                                 LCD1602_write_data(Display_GPGGA_Buffer[i]);           //輸出海拔               
  129.                         LCD1602_write_data('m');                                                           //顯示單位

  130.                         
  131.                         LCD1602_write_com(0xc0);                                                                //在第2行第1列開始輸出經(jīng)度
  132.                         LCD1602_write_data(Display_GPGGA_Buffer[41]);                          //輸出E 或者 W
  133.                         LCD1602_write_data(':');
  134.                         LCD1602_write_data(Display_GPGGA_Buffer[30]);                        //經(jīng)度
  135.                         LCD1602_write_data(Display_GPGGA_Buffer[31]);        
  136.                         LCD1602_write_data(Display_GPGGA_Buffer[32]);        
  137.                         LCD1602_write_data(0xdf);                                                               
  138.                         LCD1602_write_data(Display_GPGGA_Buffer[33]);                        
  139.                         LCD1602_write_data(Display_GPGGA_Buffer[34]);               
  140.                         LCD1602_write_word("'");


  141.                         UartPrintf("----------------------------------------------\r\n");                 //串口發(fā)送數(shù)據(jù)到電腦
  142.                         UartPrintf("Original data(1):\r\n");
  143.                         UartPrintf(Display_GPGGA_Buffer);                                                                                 //直接把首地址作為實(shí)參
  144.                         UartPrintf("......\r\n");                                                                                                

  145.                         UartPrintf("Processed data(1): \r\n");
  146.                         UartPrintData(Display_GPGGA_Buffer[28]);                        //N 或者 S
  147.                         UartPrintf(":  ");
  148.                         UartPrintData(Display_GPGGA_Buffer[18]);                        //發(fā)送緯度
  149.                         UartPrintData(Display_GPGGA_Buffer[19]);               
  150.                         UartPrintData('*');                                                                        //串口無(wú)法發(fā)送擴(kuò)展的ASCII碼(大于127),所以用*代替度數(shù)符號(hào)
  151.                         UartPrintData(Display_GPGGA_Buffer[20]);                        
  152.                         UartPrintData(Display_GPGGA_Buffer[21]);               
  153.                         UartPrintData('\'');
  154.                         UartPrintf("\r\n");                                                                        //發(fā)送回車換行
  155.                         
  156.                         UartPrintData(Display_GPGGA_Buffer[41]);                        //E 或者 W
  157.                         UartPrintf(": ");
  158.                         UartPrintData(Display_GPGGA_Buffer[30]);               
  159.                         UartPrintData(Display_GPGGA_Buffer[31]);
  160.                         UartPrintData(Display_GPGGA_Buffer[32]);
  161.                         UartPrintData('*');                        
  162.                         UartPrintData(Display_GPGGA_Buffer[33]);                        //發(fā)送經(jīng)度
  163.                         UartPrintData(Display_GPGGA_Buffer[34]);
  164.                         UartPrintData('\'');        
  165.                         UartPrintf("\r\n");

  166.                         UartPrintf("Altitude: ");
  167.                         for (i=qian_a+1; i<=hou_a-1; i++)                                        //發(fā)送海拔
  168.                                 UartPrintData(Display_GPGGA_Buffer[i]);                        
  169.                         UartPrintf(" m");                                                                        
  170.                         UartPrintf("\r\n");
  171.                                                                
  172.                 }

  173. //  這部分代碼詳見附件

  174. && RX_Buffer[1] == 'G'&& RX_Buffer[3] == 'R'&& RX_Buffer[4] == 'M'&& RX_Buffer[5] == 'C')
  175. //                {
  176. //                        UartPrintf(RX_Buffer);
  177. //                        UartPrintf("\r\n");
  178. //                }        

  179.                
  180.                 if(   Flag_GPS_OK  == 1
  181.                    && RX_Buffer[1] == 'G'
  182.                    && RX_Buffer[3] == 'R'
  183.                    && RX_Buffer[4] == 'M'
  184.                    && RX_Buffer[5] == 'C'
  185.                    && RX_Buffer[18]== 'A')                //確認(rèn)是否收到"GPRMC"這一幀完整有效的數(shù)據(jù)
  186.                 {
  187.                         for( i = 0; i < 67 ; i++)
  188.                         {
  189.                                 Display_GPRMC_Buffer[i] = RX_Buffer[i];        
  190.                         }
  191.                           
  192.                         Flag_Calc_GPRMC_OK = 1;
  193.                         
  194.                         Hour = (Display_GPRMC_Buffer[7]-0x30)*10+(Display_GPRMC_Buffer[8]-0x30)+8;        //UTC時(shí)間轉(zhuǎn)換到北京時(shí)間(東八區(qū)),0x30即48
  195.                         if( Hour >= 24)                                //如果溢出
  196.                         {
  197.                                 Hour %= 24;                                //獲取實(shí)際Hour
  198.                                 Flag_OV = 1;                        //日期進(jìn)位的標(biāo)志變量置為1
  199.                         }
  200.                         else
  201.                         {
  202.                                 Flag_OV = 0;
  203.                         }
  204.                         Min_High = Display_GPRMC_Buffer[9];
  205.                         Min_Low = Display_GPRMC_Buffer[10];                           //獲取時(shí)間數(shù)據(jù)
  206.                         Sec_High = Display_GPRMC_Buffer[11];
  207.                         Sec_Low = Display_GPRMC_Buffer[12];

  208.                         for (i=0;i<68;i++)                //由于日期數(shù)據(jù)前面的速度數(shù)據(jù)也是位數(shù)不定,所以速度數(shù)據(jù)位數(shù)也不定,故亦用此算法精確地確定日期數(shù)據(jù)位置
  209.                         {
  210.                                 if ( Display_GPRMC_Buffer[i]==',' )
  211.                                         k++;
  212.                                 if (k==9&&qian_OK==0)                                                            //日期數(shù)據(jù)位于第9~10個(gè)逗號(hào)之間
  213.                                         qian_b=i,qian_OK=1;
  214.                                 if (k==10)
  215.                                 {
  216.                                         hou_b=i;
  217.                                         k=0;
  218.                                         qian_OK=0;
  219.                                         break;
  220.                                 }               
  221.                         }
  222.                         Year_High = Display_GPRMC_Buffer[qian_b+5];                                //獲取日期
  223.                         Year_Low = Display_GPRMC_Buffer[qian_b+6];
  224.                         Month_High = Display_GPRMC_Buffer[qian_b+3];
  225.                         Month_Low = Display_GPRMC_Buffer[qian_b+4];
  226.                         Day_High = Display_GPRMC_Buffer[qian_b+1];
  227.                         Day_Low = Display_GPRMC_Buffer[qian_b+2];
  228.                         if(Flag_OV == 1)                                                                                //如果日期須進(jìn)位
  229.                         {
  230.                                 UTCDate2LocalDate();                                                                //UTC日期進(jìn)位并轉(zhuǎn)換為北京時(shí)間               
  231.                         }
  232.                 }

  233.                 if(Flag_Calc_GPRMC_OK == 1)                            //GPRMC數(shù)據(jù)完整有效則顯示
  234.                 {
  235.                         Flag_Calc_GPRMC_OK = 0;

  236.                         if (First_Share_OK == 0)
  237.                         {
  238.                                 First_Share_OK=1;
  239.                                 LCD1602_write_com(0x01);
  240.                         }

  241.                         for (i=0;i<68;i++)                                                                    //由于速度數(shù)據(jù)也是位數(shù)不定,故亦用此算法精確地確定速度數(shù)據(jù)位置
  242.                         {
  243.                                 if ( Display_GPRMC_Buffer[i]==',' )
  244.                                         k++;
  245.                                 if (k==7&&qian_OK==0)                                                  //速度數(shù)據(jù)位于第7~8個(gè)逗號(hào)之間
  246.                                         qian_c=i,qian_OK=1;
  247.                                 if (k==8)
  248.                                 {
  249.                                         hou_c=i;
  250.                                         k=0;
  251.                                         qian_OK=0;
  252.                                         break;
  253.                                 }               
  254.                         }
  255.                         LCD1602_write_com(0xc9);                                                       //準(zhǔn)備在第2行第9列顯示
  256.                         switch(hou_c-qian_c-2)                                                            //原式為(hou_c-1)-qian_c-1。由于速度不太準(zhǔn)還浮動(dòng),故只讓它顯示一位小數(shù)
  257.                         {
  258.                                 case 3:LCD1602_write_word(" ");break;                    //使右對(duì)齊
  259.                                 case 4:break;
  260.                                 case 5:break;
  261.                         }                        
  262.                         for (i=qian_c+1; i<=hou_c-2; i++)                                        //(原式為hou_c-1-1)
  263.                                 LCD1602_write_data(Display_GPRMC_Buffer[i]);        //顯示速度                        
  264.                         LCD1602_write_word("m/s");                                                        //顯示單位

  265.                         UartPrintf("\r\n");
  266.                         UartPrintf("Original data(2):\r\n");
  267.                         UartPrintf(Display_GPRMC_Buffer);
  268.                         UartPrintf("......\r\n");

  269.                         UartPrintf("Processed data(2): \r\n");
  270.                         UartPrintf("Time: ");
  271.                         UartPrintData(Hour/10+0x30);                                          //串口發(fā)送時(shí)間
  272.                         UartPrintData(Hour%10+0x30);
  273.                         UartPrintData(':');
  274.                         UartPrintData(Min_High);
  275.                         UartPrintData(Min_Low);
  276.                         UartPrintData(':');        
  277.                         UartPrintData(Sec_High);                                                  
  278.                         UartPrintData(Sec_Low);
  279.                         UartPrintf("\r\n");


  280.                          UartPrintf("Date: ");                                                                        //發(fā)送日期
  281.                         UartPrintf("20");
  282.                         UartPrintData(Display_GPRMC_Buffer[qian_b+5]);
  283.                         UartPrintData(Display_GPRMC_Buffer[qian_b+6]);
  284.                         UartPrintData('-');        
  285.                         UartPrintData(Display_GPRMC_Buffer[qian_b+3]);
  286.                         UartPrintData(Display_GPRMC_Buffer[qian_b+4]);
  287.                         UartPrintData('-');        
  288.                         UartPrintData(Display_GPRMC_Buffer[qian_b+1]);
  289.                         UartPrintData(Display_GPRMC_Buffer[qian_b+2]);
  290.                         UartPrintf("\r\n");                                                                        

  291.                         UartPrintf("Speed: ");
  292.                         for (i=qian_c+1; i<=hou_c-1; i++)
  293.                                 UartPrintData(Display_GPRMC_Buffer[i]);                        
  294.                         UartPrintf(" m/s\r\n");                                                                        //發(fā)送速度,2位小數(shù)都發(fā)
  295.                         UartPrintf("----------------------------------------------\r\n");//分隔符
  296.                                        
  297.                 }
  298.         
  299.         }
  300. }

  301. //****************************************************
  302. //UTC日期與當(dāng)?shù)厝掌谵D(zhuǎn)換
  303. //****************************************************
  304. void UTCDate2LocalDate(void)
  305. {
  306.         Day = (Day_High - 0x30) * 10 + (Day_Low-0x30) + 1;                //日期進(jìn)一
  307.         Month = (Month_High - 0x30) * 10 + (Month_Low - 0x30);
  308.         Year = 2000 + (Year_High - 0x30) * 10 + (Year_Low - 0x30);
  309.         
  310.         MaxDay = GetMaxDay(Month,Year);                                //獲取當(dāng)月天數(shù)最大值
  311.         if(Day > MaxDay)                //如果溢出
  312.         {
  313.                 Day = 1;
  314.                 Month += 1;
  315.                 if(Month > 12)
  316.                 {
  317.                         Year+=1;
  318.                 }
  319.         }

  320.         Day_High = Day/10 + 0x30;                                //轉(zhuǎn)換日期值為ASCII
  321.         Day_Low = Day%10 + 0x30;

  322.         Month_High = Month/10 + 0x30;                        
  323.         Month_Low = Month%10 + 0x30;

  324.         Year_High = Year%100/10 + 0x30;               
  325.         Year_Low = Year%10 + 0x30;                        
  326. }

  327. //****************************************************
  328. //獲取當(dāng)月日期最大值
  329. //****************************************************
  330. unsigned char GetMaxDay(unsigned char Month_Value,unsigned int Year_Value)
  331. {
  332.         unsigned char iDays;
  333.         switch(Month_Value)
  334.         {
  335.                 case 1:
  336.                 case 3:
  337.                 case 5:
  338.                 case 7:
  339.                 case 8:
  340.                 case 10:
  341.                 case 12:
  342.                         {
  343.                                 iDays = 31;
  344.                         }
  345.                         break;
  346.                 case 2:
  347.                         {
  348.                                 //2月份比較特殊,需要根據(jù)是不是閏年來(lái)判斷當(dāng)月是28天還29天
  349.                                 iDays = IsLeapYear(Year_Value) ? 29 : 28 ;
  350.                         }
  351.                         break;
  352.                 case 4:
  353.                 case 6:
  354.                 case 9:
  355.                 case 11:
  356.                         {
  357.                                 iDays = 30;
  358.                         }
  359. ……………………

  360. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼


所有資料51hei提供下載:
GPS(LCD,USart).zip (101.7 KB, 下載次數(shù): 363)


評(píng)分

參與人數(shù) 2黑幣 +95 收起 理由
czc + 5
admin + 90 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:246166 發(fā)表于 2017-11-8 18:34 | 只看該作者
樓主太強(qiáng)了,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

板凳
ID:273006 發(fā)表于 2018-1-8 09:17 | 只看該作者
好東西 學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

地板
ID:276940 發(fā)表于 2018-1-17 12:38 | 只看該作者
太贊了樓主
回復(fù)

使用道具 舉報(bào)

5#
ID:306790 發(fā)表于 2018-4-12 20:36 | 只看該作者
樓主,有急用,能分享下嗎
回復(fù)

使用道具 舉報(bào)

6#
ID:65956 發(fā)表于 2018-9-27 17:00 | 只看該作者
曾經(jīng)也作了一個(gè),還是匯編版的,本想改成C版的,可是一直沒時(shí)間處理
回復(fù)

使用道具 舉報(bào)

7#
ID:397866 發(fā)表于 2018-9-28 11:58 | 只看該作者
什么時(shí)候能跟上樓主
回復(fù)

使用道具 舉報(bào)

8#
ID:428487 發(fā)表于 2018-11-17 23:20 | 只看該作者
很棒。學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

9#
ID:406753 發(fā)表于 2018-11-24 16:09 | 只看該作者
樓主有沒有仿真
回復(fù)

使用道具 舉報(bào)

10#
ID:243507 發(fā)表于 2018-12-27 02:34 | 只看該作者

GPS哪能仿真鴨
回復(fù)

使用道具 舉報(bào)

11#
ID:469310 發(fā)表于 2019-2-22 10:56 來(lái)自手機(jī) | 只看該作者
怎么能讓其顯示在彩屏上
回復(fù)

使用道具 舉報(bào)

12#
ID:481858 發(fā)表于 2019-2-27 22:38 | 只看該作者

樓主太強(qiáng)了,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

13#
ID:495287 發(fā)表于 2019-3-25 08:30 | 只看該作者
謝謝樓主分享,還沒法下載。
回復(fù)

使用道具 舉報(bào)

14#
ID:526963 發(fā)表于 2019-5-5 14:45 | 只看該作者
樓主的分享非常有用,可是我按這個(gè)程序做出來(lái),串口接收到的還是這種$GNGGA,034214.000,3208.1201,N,11841.7167,E,1,07,1.7,7.7,M,0.0,M,,*7 OK*形式的數(shù)據(jù),這是什么原因呢麻煩樓主指點(diǎn)一下下
回復(fù)

使用道具 舉報(bào)

15#
ID:47390 發(fā)表于 2019-7-6 12:08 | 只看該作者
文章不錯(cuò),就是要的積分有點(diǎn)高!!!
回復(fù)

使用道具 舉報(bào)

16#
ID:47390 發(fā)表于 2019-7-6 12:24 | 只看該作者
看了一下發(fā)表的部分,非常不錯(cuò),學(xué)習(xí)了!
回復(fù)

使用道具 舉報(bào)

17#
ID:399179 發(fā)表于 2019-7-7 20:44 來(lái)自手機(jī) | 只看該作者
這個(gè)真不錯(cuò)!
回復(fù)

使用道具 舉報(bào)

18#
ID:511461 發(fā)表于 2019-10-16 20:58 | 只看該作者
請(qǐng)問樓主能發(fā)一下原理圖嗎
回復(fù)

使用道具 舉報(bào)

19#
ID:529285 發(fā)表于 2019-10-29 14:30 | 只看該作者
這代碼強(qiáng)強(qiáng)強(qiáng),學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

20#
ID:349345 發(fā)表于 2019-11-4 15:37 | 只看該作者
原理圖可以發(fā)下嗎
回復(fù)

使用道具 舉報(bào)

21#
ID:657056 發(fā)表于 2019-12-6 14:44 | 只看該作者
可以請(qǐng)作者發(fā)下原理圖嗎
回復(fù)

使用道具 舉報(bào)

22#
ID:657056 發(fā)表于 2019-12-6 14:51 | 只看該作者
樓主求原理圖
回復(fù)

使用道具 舉報(bào)

23#
ID:408809 發(fā)表于 2019-12-30 17:42 | 只看該作者
提示...........\main.m51 contains an  incorrect path.
導(dǎo)致文件編譯不了
回復(fù)

使用道具 舉報(bào)

24#
ID:525368 發(fā)表于 2019-12-31 14:54 | 只看該作者
gps調(diào)試
回復(fù)

使用道具 舉報(bào)

25#
ID:728783 發(fā)表于 2020-4-14 22:09 來(lái)自手機(jī) | 只看該作者
為啥我的液晶屏上沒有顯示數(shù)據(jù)
回復(fù)

使用道具 舉報(bào)

26#
ID:704585 發(fā)表于 2020-6-7 15:39 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99久久99久久精品国产片果冰 | 天天干夜夜操视频 | 老熟女毛片| 久久国产精品一区二区 | www.日本精品 | 能看的av | 在线国产一区 | 久久久夜| 国产精品自产拍 | 欧美成人一区二免费视频软件 | 午夜精品久久久久久久久久久久久 | 亚洲欧洲精品一区 | 日韩精品一区二区三区在线播放 | 九九色九九 | 久久精品国产一区二区电影 | 色综合一区二区 | 久久中文字幕一区 | 日本激情视频网 | 九九伦理电影 | 国产在线一区观看 | 精品国产乱码久久久久久丨区2区 | 亚洲视频在线免费观看 | av在线一区二区三区 | 午夜伊人| 久久综合狠狠综合久久综合88 | 中文字幕一区二区三区日韩精品 | 亚洲精品国产成人 | 91精品一区| av中文在线 | 国产大毛片 | 黄色a级一级片 | 电影91久久久 | 欧美不卡一区二区三区 | 91最新在线视频 | 日韩视频成人 | 在线看91| 欧美精品 在线观看 | 日韩在线精品 | 成人中文字幕av | 日韩欧美中文 | 91影视 |