2014-04-15 126 views
-1

我的一個DIY項目中有將代碼轉換爲nmea格式的代碼,但我無法這麼做,我也不知道要在代碼之前添加哪些標題,所以任何機構幫我出這個如何在atmega32上實現此代碼

private string DD2NMEA(double lat, double lng) 
{ 
string nmea = ""; 
double lata = Math.Abs(lat); 
double latd = Math.Truncate(lata); 
double latm = (lata - latd) * 60; 
string lath = lat > 0 ? "N" : "S"; 
double lnga = Math.Abs(lng); 
double lngd = Math.Truncate(lnga); 
double lngm = (lnga - lngd) * 60; 
string lngh = lng > 0 ? "E" : "W"; 

nmea += latd.ToString("00") + latm.ToString("00.00000") + "," + lath + ","; 
nmea += lngd.ToString("000") + lngm.ToString("00.00000") + "," + lngh; 

return nmea; 
} 
+0

這看起來像Java ... –

回答

0

這看起來像是爲標準Ardunio math module,可通過做

#include <math.h> 

你將不得不去適應的語法,如Math.Abs()變成只是fabs()

如果你不是在Arduino上做這個,而是直接使用AVR,它完全一樣,因爲Ardunio只是在這裏繼承了C頭和函數。