找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

基于單片機(jī)+GPS定位系統(tǒng)程序+原理圖PCB設(shè)計(jì)

查看數(shù): 13626 | 評論數(shù): 19 | 收藏 22
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時(shí)間: 2020-3-29 18:53

正文摘要:

單片機(jī)是通用的51,52,stc,原理圖中的.ddb、.Bkp等格式是要用protelse打開 GPS數(shù)據(jù)含義簡介 Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦定位信息 $GPRMC,<1>,<2>,<3>,<4>, ...

回復(fù)

ID:16255 發(fā)表于 2022-5-10 23:39
發(fā)現(xiàn)一個(gè)小Bug。下面這個(gè)是樓主GPS.c中的代碼,作用是將讀到的字符串轉(zhuǎn)換成浮點(diǎn)數(shù)。(浮點(diǎn)數(shù)可表示正負(fù)小數(shù))
static float Str_To_Float(char *buf)
{
        float rev = 0;
        float dat;
        int integer = 1;
        char *str = buf;
        int i;
        while(*str != '\0')
        {
                switch(*str)
                {
                        case '0':
                                dat = 0;
                                break;
                        case '1':
                                dat = 1;
                                break;
                        case '2':
                                dat = 2;
                                break;               
                        case '3':
                                dat = 3;
                                break;
                        case '4':
                                dat = 4;
                                break;
                        case '5':
                                dat = 5;
                                break;
                        case '6':
                                dat = 6;
                                break;
                        case '7':
                                dat = 7;
                                break;
                        case '8':
                                dat = 8;
                                break;
                        case '9':
                                dat = 9;
                                break;
                        case '.':
                                dat = '.';
                                break;
                }
                if(dat == '.')
                {
                        integer = 0;
                        i = 1;
                        str ++;
                        continue;
                }
                if( integer == 1 )
                {
                        rev = rev * 10 + dat;
                }
                else
                {
                        rev = rev + dat / (10 * i);
                        i = i * 10 ;
                }
                str ++;
        }
        return rev;
}
代碼中似乎沒有考慮到負(fù)數(shù)的情況。
而實(shí)際上是有可能出現(xiàn)負(fù)數(shù)的。如下圖,讀出來-5.7m。


但是,我并沒有打算改它,因?yàn)槲矣貌恢@個(gè)海拔數(shù)據(jù)。
而且我把數(shù)據(jù)都以int的形式儲(chǔ)存,更方便處理數(shù)據(jù)。GPS報(bào)文中的數(shù)據(jù)都是兩位小數(shù)的,將其乘上100就都能變成整數(shù),就不用以浮點(diǎn)數(shù)儲(chǔ)存了(int占兩個(gè)字節(jié),float占四個(gè)字節(jié),double占八個(gè)字節(jié))。

評分

參與人數(shù) 1黑幣 +80 收起 理由
admin + 80 回帖助人的獎(jiǎng)勵(lì)!

查看全部評分

ID:840718 發(fā)表于 2023-8-2 21:42
歷害,向你學(xué)習(xí)…… GPS是不是要退休了, 能搞一個(gè)我們的北斗?
ID:1085441 發(fā)表于 2023-7-18 01:41
給大家推薦一個(gè)北斗GPS雙模模塊,HT1612,幾年前買的時(shí)候是十幾元,挺好用的。
ID:1086148 發(fā)表于 2023-7-17 21:44
贊樓主! 你好! 非常感興趣另一位工程師說的GPS語音播報(bào)!期待看到你發(fā)表作品!
ID:16255 發(fā)表于 2022-5-11 16:49
xiamo123 發(fā)表于 2020-4-20 09:59
這個(gè)代碼改一下可以用于BDS嘛?

完全可以。如果單純是定位,不用改代碼,GPS模塊從硬件上就支持北斗定位的。
只是衛(wèi)星列表有點(diǎn)差異,GPS是用$GPGSV報(bào)文,北斗是用$BDGSV報(bào)文,但他們的格式是一樣的,稍稍改一下就能讀取北斗列表。
ID:1019040 發(fā)表于 2022-4-17 01:47
頭文件在附件里面可以下載
ID:99130 發(fā)表于 2022-2-20 16:02
GPS的型號是哪種?
ID:284050 發(fā)表于 2021-7-7 22:34
確定GPS準(zhǔn)確嗎(能轉(zhuǎn)換地圖中準(zhǔn)確定位嗎)
ID:650894 發(fā)表于 2021-3-24 16:27
gps用的哪個(gè)芯片
ID:64253 發(fā)表于 2020-8-12 10:51
先MARK一下,坐等北斗的資料,學(xué)習(xí)
ID:709306 發(fā)表于 2020-4-26 18:02
jakcypater 發(fā)表于 2020-4-10 16:34
不錯(cuò)不錯(cuò),去年做過STC12+GPS+LCD12864+語音播報(bào)的,最近整理下,也發(fā)出來。

能不能發(fā)一下程序還有實(shí)物圖或者資料包?
ID:731957 發(fā)表于 2020-4-20 09:59
這個(gè)代碼改一下可以用于BDS嘛?
ID:631770 發(fā)表于 2020-4-19 10:43
jakcypater 發(fā)表于 2020-4-10 16:34
不錯(cuò)不錯(cuò),去年做過STC12+GPS+LCD12864+語音播報(bào)的,最近整理下,也發(fā)出來。

大佬你好,能給個(gè)球球號問些問題嗎……
ID:731957 發(fā)表于 2020-4-18 12:39
jakcypater 發(fā)表于 2020-4-10 16:33
有北斗GPS雙模的,網(wǎng)絡(luò)上都有教程。

網(wǎng)上哪里有資源呀
ID:727275 發(fā)表于 2020-4-13 13:08
感謝樓主分享基于單片機(jī)GPS定位系統(tǒng)設(shè)計(jì).
ID:723764 發(fā)表于 2020-4-12 20:29
jakcypater 發(fā)表于 2020-4-10 16:34
不錯(cuò)不錯(cuò),去年做過STC12+GPS+LCD12864+語音播報(bào)的,最近整理下,也發(fā)出來。

蹲一個(gè)大神
ID:523982 發(fā)表于 2020-4-10 16:34
不錯(cuò)不錯(cuò),去年做過STC12+GPS+LCD12864+語音播報(bào)的,最近整理下,也發(fā)出來。
ID:523982 發(fā)表于 2020-4-10 16:33
xmfjfhcel 發(fā)表于 2020-3-30 10:39
歷害,向你學(xué)習(xí)…… GPS是不是要退休了, 能搞一個(gè)我們的北斗不嘛

有北斗GPS雙模的,網(wǎng)絡(luò)上都有教程。
ID:626079 發(fā)表于 2020-3-30 10:39
歷害,向你學(xué)習(xí)…… GPS是不是要退休了, 能搞一個(gè)我們的北斗不嘛

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

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

快速回復(fù) 返回頂部 返回列表