gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:1548回复:2

NMEA 0183 技术信息

楼主#
更多 发布于:2005-03-25 14:14
<P ><FONT size=2>NMEA 0183是一种航海、海运方面有关于数字信号传递的标准,此标准定义了电子信号所需要的传输协议,传输数据时间、并且指明了信息格式需要一个4800bps的串行数据接口。<p></p></FONT></P>
<P ><FONT size=2>NMEA 0183的设备使用了一个如下图的串行接口的参数选择:<p></p></FONT></P>
<P ><FONT size=2> <p></p></FONT></P>
<DIV align=center>
<TABLE  cellSpacing=0 cellPadding=0 border=1>

<TR>
<TD  width=73>
<P ><FONT size=2>Baud Rate<p></p></FONT></P></TD>
<TD  width=91>
<P ><FONT size=2>4800<p></p></FONT></P></TD></TR>
<TR>
<TD  width=73>
<P ><FONT size=2>Data Bits<p></p></FONT></P></TD>
<TD  width=91>
<P ><FONT size=2>8(d7=0)<p></p></FONT></P></TD></TR>
<TR>
<TD  width=73>
<P ><FONT size=2>Parity<p></p></FONT></P></TD>
<TD  width=91>
<P ><FONT size=2>None<p></p></FONT></P></TD></TR>
<TR>
<TD  width=73>
<P ><FONT size=2>Stop Bits<p></p></FONT></P></TD>
<TD  width=91>
<P ><FONT size=2>One(or more)<p></p></FONT></P></TD></TR></TABLE></DIV>
<P ><FONT size=2> <p></p></FONT></P>
<P ><FONT size=2>设备需要有信息源和接收端,传送端发送数据到另一个<FONT face=宋体>NMEA 0183的设备,信息源和接收端分别用来传送和接受8位ASCII码的数据。<p></p></FONT></FONT></P>
<P ><FONT face=宋体><FONT size=2>    <p></p></FONT></FONT></P>
<P ><B><FONT size=2>信息格式:<p></p></FONT></B></P>
<P ><FONT size=2>NMEA 0183的信息格式一般如下所示,<p></p></FONT></P>
<P ><I><FONT face="Times New Roman"><FONT size=2>$aaaaa,df1,df2,....[CR][LF]<p></p></FONT></FONT></I></P>
<P ><FONT size=2>所有的信息由<FONT face=宋体>$开始,以换行结束,紧跟着$后的五个字符解释了信息的基本类型,多重的信息之间用逗号隔开。<p></p></FONT></FONT></P>
<P ><FONT size=2>下面是三种基本的类型:<p></p></FONT></P>
<P ><FONT size=2>&Oslash;         信息源</FONT></P>
<P ><FONT size=2>&Oslash;         查询<p></p></FONT></P>
<P ><FONT size=2>&Oslash;         属性<p></p></FONT></P>
<P ><B><FONT size=2> <p></p></FONT></B></P>
<P ><FONT size=2><B>信息源:</B><p></p></FONT></P>
<P ><FONT size=2>它的标准格式为<p></p></FONT></P>
<P ><I><FONT face="Times New Roman"><FONT size=2>$ttsss,df1,df2,....[CR][LF]<p></p></FONT></FONT></I></P>
<P ><FONT size=2>在紧随<FONT face=宋体>$后的两个字符用来识别做为信息内容识别码的后3个字符,信息识别码定义了保留的数据区,在NMEA 0183标准下,每个类型的数据区的信息内容是符合标准的。<p></p></FONT></FONT></P>
<P ><FONT size=2>例:<p></p></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>    <I>$HCHDM,238,M[CR][LF]</I><p></p></FONT></FONT></P>
<P ><FONT size=2> <p></p></FONT></P>
<P ><FONT size=2>标明“<FONT face=宋体>HC”说明信息源作为一个磁性的罗盘,“HDM” 指明以下是磁性的船首向航向,238是船首向航向的值,M指明船首向航向的值是磁性的。<p></p></FONT></FONT></P>
<P ><FONT size=2> <p></p></FONT></P>
<P ><B><FONT size=2>查询内容<p></p></FONT></B></P>
<P ><FONT size=2>查询意味着接受端需要从信息源那里得到一个有规律的内容,例如,我们可以发一个信息给<FONT face="Times New Roman">GPS</FONT>接受器请求传送一个“<FONT face="Times New Roman">DISTANCE-TO-WAYPOINT</FONT>”的信息,得到响应后,<FONT face="Times New Roman">GPS</FONT>接受器会发送请求的内容,直到接到别的请求。<p></p></FONT></P>
<P ><FONT size=2> <p></p></FONT></P>
<P ><FONT size=2>一般格式为:<p></p></FONT></P>
<P ><I><FONT face="Times New Roman"><FONT size=2>$ttllQ,sss,[CR][LF]<p></p></FONT></FONT></I></P>
<P ><FONT size=2> <p></p></FONT></P>
<P ><FONT size=2>头两个字符做为请求者的信息源的识别码,后两个字符作为被查询的设备的信息识别,最后一个字符说明这是一个查询信息。紧跟着的字段(<FONT face=宋体>sss)包含了三个字的被查询内容的记忆信息,如下<p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>  <I>$CCGPQ,GGA[CR][LF]</I><p></p></FONT></FONT></P>
<P ><FONT size=2>说明“<FONT face=宋体>CC”这个设备(计算机)正从 “GP”这个设备(GPS)查询GGA的内容。GPS将每隔一秒传送这个内容,直到有别的查询请求。<p></p></FONT></FONT></P>
<P ><B><FONT size=2> <p></p></FONT></B></P>
<P ><FONT size=2><B>属性</B><p></p></FONT></P>
<P ><FONT face=宋体><FONT size=2>    这对厂商来说是一种使用没有在标准下预定义的特殊内容的方法。<p></p></FONT></FONT></P>
<P ><FONT size=2>它通常的格式为<p></p></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>    <I>$PmmmA,df1,df2,...,[CR][LF]<p></p></I></FONT></FONT></P>
<P ><FONT size=2><I><FONT face="Times New Roman">P</FONT></I><I>说明是属性内容,<FONT face="Times New Roman">mmm</FONT></I><I>定义为厂商信息代码,<FONT face="Times New Roman">A(A-Z)</FONT></I><I>标明信息类型。</I><p></p></FONT></P>
<P ><FONT size=2> <p></p></FONT></P>
<P ><FONT size=2> <p></p></FONT></P>
<P ><FONT size=2> <p></p></FONT></P>
<P ><FONT size=2>以下是一个具体的例子:<p></p></FONT></P>
<P ><FONT size=2>和卫星的通讯,接收到的数据格式将是下面这样的:<p></p></FONT></P>
<P ><FONT size=2>  <FONT face=宋体 color=#800000>$GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E </FONT><p></p></FONT></P>
<P ><FONT size=2>  通过这个例子来仔细分析一下其中的各部分的含义。不过请注意,我们只讨论前<FONT face=宋体>7个数据。表格指出了这些数据的细节说明。<p></p></FONT></FONT></P>
<P ><FONT size=2>表格<FONT face=宋体>9.1:GPS手持机的NMEA数据结构<p></p></FONT></FONT></P>
<DIV align=center>
<TABLE  cellPadding=0 width="80%" border=0>

<TR>
<TD  width="33%">
<P ><FONT size=2>数据<p></p></FONT></P></TD>
<TD  width="33%">
<P ><FONT size=2>NMEA 0183协议<p></p></FONT></P></TD>
<TD  width="34%">
<P ><FONT size=2>说明<p></p></FONT></P></TD></TR>
<TR>
<TD  width="33%">
<P ><FONT size=2>$GPRMC<p></p></FONT></P></TD>
<TD  width="33%">
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P></TD>
<TD  width="34%">
<P ><FONT size=2>GPS推荐的最短数据<p></p></FONT></P></TD></TR>
<TR>
<TD  width="33%">
<P ><FONT size=2>204700<p></p></FONT></P></TD>
<TD  width="33%">
<P ><FONT size=2>UTC_TIME<p></p></FONT></P></TD>
<TD  width="34%">
<P ><FONT size=2>24小时制的标准时间,按照小时/分钟/秒的格式<p></p></FONT></P></TD></TR>
<TR>
<TD  width="33%">
<P ><FONT size=2>A<p></p></FONT></P></TD>
<TD  width="33%">
<P ><FONT size=2>A 或者 V<p></p></FONT></P></TD>
<TD  width="34%">
<P ><FONT size=2>A表示数据“OK”,V表示一个警告<p></p></FONT></P></TD></TR>
<TR>
<TD  width="33%">
<P ><FONT size=2>3403.868<p></p></FONT></P></TD>
<TD  width="33%">
<P ><FONT size=2>LAT<p></p></FONT></P></TD>
<TD  width="34%">
<P ><FONT size=2>纬度值,精确到小数点前<FONT face=宋体>4位,后3位<p></p></FONT></FONT></P></TD></TR>
<TR>
<TD  width="33%">
<P ><FONT size=2>N<p></p></FONT></P></TD>
<TD  width="33%">
<P ><FONT size=2>LAT_DIR<p></p></FONT></P></TD>
<TD  width="34%">
<P ><FONT size=2>N表示北纬,S表示南纬<p></p></FONT></P></TD></TR>
<TR>
<TD  width="33%">
<P ><FONT size=2>11709.432<p></p></FONT></P></TD>
<TD  width="33%">
<P ><FONT size=2>LON<p></p></FONT></P></TD>
<TD  width="34%">
<P ><FONT size=2>经度值,精确到小数点前<FONT face=宋体>5位,后3位<p></p></FONT></FONT></P></TD></TR>
<TR>
<TD  width="33%">
<P ><FONT size=2>W<p></p></FONT></P></TD>
<TD  width="33%">
<P ><FONT size=2>LON_DIR<p></p></FONT></P></TD>
<TD  width="34%">
<P ><FONT size=2>W表示西经,E表示东经<p></p></FONT></P></TD></TR></TABLE></DIV>
<P ><FONT size=2>  如果当前没有和卫星取得联系,那么字符串的格式为:<p></p></FONT></P>
<P ><FONT size=2>$GPRMC,UTC_TIME,V,...<p></p></FONT></P>
<P ><FONT size=2> <p></p></FONT></P>
<H1 ><FONT face=宋体 size=2>GPS THING</FONT></H1>
<P ><FONT size=2>有关<FONT face="Times New Roman">NMEA</FONT>数据的类为</FONT></P>
<P ><FONT face="Times New Roman" size=2>struct CNmeaData</FONT></P>
<P ><FONT face="Times New Roman" size=2>{</FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>       CNmeaData ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>       void ResetData ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     // Data retrieved from the NMEA sentences.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     double lat;          // Latitude, in degrees (positive=N, negative=S)</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     double lon;          // Longitude, in degrees (positive=E, negative=W)</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     double altitude;     // Altitude, in feet</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     double speed;        // Speed, in knots</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     double track;        // Current track, in degrees.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     double magVariation; // Magnetic variation, in degrees.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>    double hdop;         // Horizontal dilution of precision.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>    int numSats;         // Number of satellites in the sky.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     int UTCYear;         // GPS Date (UTC), year part</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     int UTCMonth;        // GPS Date (UTC), month part  </FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>    int UTCDay;          // GPS Date (UTC), day part</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     int UTCHour;         // GPS Time (UTC), hour part.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     int UTCMinute;       // GPS Time (UTC), minute part  </FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     int UTCSecond;       // GPS Time (UTC), second part</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     CSatData satData[MAX_SATS];</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     // Quality of last fix:</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>    // 0 = invalid, 1 = GPS fix, 2 = DGPS fix.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     GPS_FIX_QUALITY lastFixQuality;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     // Validity of data parsed.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidLat;          // Latitude</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidLon;          // Longitude</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidAltitude;     // Altitude</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidSpeed;        // Speed</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidDate;         // Date</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidTime;         // Time</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidTrack;        // Track</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidMagVariation; // Magnetic variation</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidHdop;         // Horizontal dilution of precision</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool isValidSatData;      // Satellite data</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     // Has a valid coordinate ever been sent over the serial port?</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     bool hasCoordEverBeenValid;</FONT></FONT></P>
<P ><FONT face="Times New Roman" size=2>};</FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman" size=2>class CNmeaParser</FONT></P>
<P ><FONT face="Times New Roman" size=2>{</FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     public:</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            CNmeaParser ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            SENTENCE_STATUS ParseSentence (const char* sentence);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void GetData (CNmeaData; data) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ResetData () {m_data.ResetData ();}</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     private:</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            bool ParseDegrees (double; degrees, const char* degString) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            bool ParseDate (int; year, int; month, int; day,</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>                   const char* dateString) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            bool ParseTime (int; hour, int; minute, int; second,</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>                   const char* timeString) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateAltitude    (const char* field, const char unit);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateDate        (const char* field);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateFixQuality  (const char* field);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateLat         (const char* field, const char hem);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateLon         (const char* field, const char hem);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateHdop        (const char* field);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateSpeed       (const char* field);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateMagVariation(const char* field,</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>                   const char direction);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateTime  (const char* field);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseAndValidateTrack (const char* field);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseGGA (const char* sentence);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseGLL (const char* sentence);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseRMC (const char* sentence);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void ParseGSV (const char* sentence);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            bool GetNextField (char* data, const char* sentence,</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>                   uint; currentPosition) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            bool IsValidSentenceType (const char* sentence) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            bool IsCorrectChecksum (const char* sentence) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            CNmeaData m_data;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            // Needed for parsing the GSV sentence.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            int m_lastSentenceNumber;// Which sentence number was the last one?</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            int m_numSentences;      // Number of sentences to process.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            int m_numSatsExpected;   // Number of satellites expected to parse.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            int m_numSatsLeft;       // Number of satellites left to parse.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            int m_satArrayPos;       // Array position of the next sat entry.             </FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            CSatData m_tempSatData[MAX_SATS];</FONT></FONT></P>
<P ><FONT face="Times New Roman" size=2>};</FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman" size=2>class CNmeaSerial</FONT></P>
<P ><FONT face="Times New Roman" size=2>{</FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     public:</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            CNmeaSerial ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            CNmeaSerial (HWND hMsgWnd, DWORD timeout);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            ~CNmeaSerial ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            SERIAL_RESULT_TYPE CloseConnection ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            SERIAL_RESULT_TYPE OpenConnection ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            SERIAL_RESULT_TYPE OpenConnection (uint8 comPort, uint32 baudRate,</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>                   uint8 dataBits, SETPARITY parity, STOPBITS stopBits);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            SERIAL_RESULT_TYPE GetData (CNmeaData; data) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            SERIAL_RESULT_TYPE GetSettings (uint8; comPort, uint32; baudRate,</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>                   uint8; dataBits, SETPARITY; parity, STOPBITS; stopBits) const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            unsigned long GetThreadHandle () const {return m_hThread;}</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            BOOL IsConnected () const {return m_isConnected;}</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2> <p></p></FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>     private:</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            SERIAL_RESULT_TYPE InitThread  ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            BOOL KillThread ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            BOOL LockData () const;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            void SetDefaults ();</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            BOOL UnlockData () const;</FONT></FONT></P>
<P ><FONT face="Times New Roman" size=2>            </FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            // The member function that parses the sentences; this function runs</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            // in another thread.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            static void ProcessSentences (void* currentObject);</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            uint8     m_comPort;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            uint32    m_baudRate;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            uint8     m_dataBits;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            SETPARITY m_parity;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            STOPBITS  m_stopBits;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            BOOL      m_isConnected;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            DWORD     m_timeout;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            unsigned long m_hThread;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            HANDLE m_hPort;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            HANDLE m_hMutex;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            DWORD  m_threadId;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            CNmeaParser m_parser;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            // Window that will receive the parsing messages.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            HWND m_hMsgWnd;</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            // If this value is set to TRUE, the thread that parses the sentences</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            // will terminate itself.</FONT></FONT></P>
<P ><FONT face="Times New Roman"><FONT size=2>            BOOL m_terminateThread;</FONT></FONT></P>
<P ><FONT face="Times New Roman" size=2>};</FONT></P>
<P><FONT size=2></FONT> </P>
喜欢0 评分0
GIS麦田守望者,期待与您交流。
劳拉
青木堂堂主
青木堂堂主
  • 注册日期2004-09-09
  • 发帖数1226
  • QQ
  • 铜币675枚
  • 威望1点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
1楼#
发布于:2005-03-25 16:22
http://www.gpsinformation.org/dale/nmea.htm<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
wangjh
论坛版主
论坛版主
  • 注册日期2003-08-22
  • 发帖数994
  • QQ55359982
  • 铜币2579枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-03-26 12:38
<img src="images/post/smile/dvbbs/em01.gif" />
网 站: www.52xoo.com (3S,信息融合,数字图像处理,模式识别与人工智能等专业电子书、学术文章及源代码共享) E-mail: Jianhong72@163.com QQ: 88128745 (55359982用了近10年,最近被盗了,郁闷!!!)
举报 回复(0) 喜欢(0)     评分
游客

返回顶部