NMEA-0183是美国国家海洋电子协会(Na-
tionalMarineElectronicsAssociation)为统一海洋导航
规范而制定的标准,该格式标准已经成为国际通用
的一种格式,协议的内容在兼容NMEA-0180和
NMEA-0182的基础上,增加了GPS、测深仪、罗经
方位系统等多种设备接口和通讯协议定义,同时还
允许一些特定厂商对其设备通信自定协议(例,
Garmin GPS,Deso 20等)。
NMEA-0183格式数据串的所有数据都采
用SASCII文本字符表示,数据传输以“$”开头,
后面是语句头。语句头由五个字母组成,分两部
分,前两个字母表示“系统ID”,即表示该语句是
属于何种系统或设备,后三个字母表示“语句
ID”,表示该语句是关于何方面的数据。语句头
后是数据体,包含不同的数据体字段,语句末尾为
校验码(可选),以回车换行符<CR><LF>结
束,也就是ACSII字符“回车”(十六进制的0D)和
“换行”(十六进制的0A)。每行语句最多包含82
个字符(包括回车换行符和“$”符号)。数据字段
以逗号分隔识别,空字段保留逗号。以GPS的
GPRMC语句为例:
$GPRMC,<1>,<2>,<3>,<4>,<5
>,<6>,<7>,<8>,<9>,<10>,<11>,
<12>*hh<CR><LF>其中GP表示该语句
是GPS定位系统的,RMC表示该语句输出的是
GPS定位信息,后面是数据体。
最后校验码*hh是用做校验的数据。在通
常使用时,它并不是必须的,但是当周围环境中有
较强的电磁干扰时,则推荐使用。hh代表了“$”
和“*”的所有字符的按位异或值(不包括这两个
字符)。个别厂商自己定义语句格式以“$P”开
头,其后是3个字符的厂家ID识别号,后接自定
义的数据体。