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

QQ登錄

只需一步,快速開(kāi)始

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

需要計(jì)算兩個(gè)GPS坐標(biāo)之間的距離,但是單片機(jī)keil又不支持double,各大老是如何解決

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:688692 發(fā)表于 2024-12-27 10:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
需要計(jì)算兩個(gè)GPS坐標(biāo)之間的距離,但是單片機(jī)keil又不支持double,各大老是如何解決的。
GPS的報(bào)文本來(lái)就很長(zhǎng),而且是ascii的,轉(zhuǎn)成數(shù)值都還不算難,但是精度不夠。
$MYGPSPOS: $GPRMC,112744.000,A,2422.54920,N,10931.34392,E,0.00,0.86,041224,,,A,V*17

2422.54920,N

10931.34392,E


有沒(méi)有大佬透露一下如何解決的。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:57657 發(fā)表于 2024-12-27 18:18 | 只看該作者
樓主可以換Keil C251 32位單片機(jī)的可以使用double類型,8位的只能自行移植浮點(diǎn)底層程序。
回復(fù)

使用道具 舉報(bào)

板凳
ID:123917 發(fā)表于 2024-12-27 18:51 | 只看該作者
D²=(E1-E2)²+ (N1-N2)²
回復(fù)

使用道具 舉報(bào)

地板
ID:844772 發(fā)表于 2024-12-30 10:44 | 只看該作者
1.上邊關(guān)系僅是角度關(guān)系,還要調(diào)整角度對(duì)應(yīng)的距離參數(shù)。
2.浮點(diǎn)運(yùn)算有專門的庫(kù),當(dāng)然犧牲了計(jì)算速度。
3.硬計(jì)算太耗資源,我覺(jué)得根據(jù)你實(shí)際的距離范圍讀數(shù)據(jù),結(jié)合查表處理會(huì)好一點(diǎn),比如一度對(duì)應(yīng)了一百多公里,如果你計(jì)算幾百公里的差異和計(jì)算幾公里的差異,就可以選取不同的讀數(shù)范圍。當(dāng)然不計(jì)時(shí)間就無(wú)所謂。
另外,對(duì)于上邊的1.和2.網(wǎng)上有很多。我就不詳細(xì)寫了。
回復(fù)

使用道具 舉報(bào)

5#
ID:1034262 發(fā)表于 2024-12-30 15:11 | 只看該作者
都是使用經(jīng)度差和緯度差來(lái)計(jì)算的,精度還可以的。為了保持精度,可以分開(kāi)整數(shù)和小數(shù)分別計(jì)算,然后合成在一起,此時(shí)往往都是10度之內(nèi),單精度浮點(diǎn)也是可以的。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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