如何在atmega32上实现此代码

时间:2014-04-15 16:27:01

标签: c microcontroller avr atmega

我的一个DIY项目有用于将GPS坐标转换为nmea格式的代码,但我无法这样做,我也不知道在代码之前要添加哪些标题,所以任何机构都可以帮我解决这个问题

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;
}

1 个答案:

答案 0 :(得分:0)

这看起来像是标准的Ardunio math module,可以通过

获得
#include <math.h>

您必须调整语法,例如Math.Abs()变为fabs()

如果您不是在Arduino上直接使用AVR,而是直接使用AVR,那么它完全相同,因为Ardunio只是继承了C头并在此处运行。