我想从GPS上接收数据,设置的是com1口接收,用serialPort控件实现接收到的信息如下: 
$GPRMC,013946.00,A,3202.1855,N,11849.0769,E,0.05,218.30,111105,4.5,W,A*20.. 
我要取两个值  3202.1855,11849.0769想高手 解决,答案最好的送50分  

解决方案 »

  1.   

    $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh 
    <1> UTC时间,hhmmss(时分秒)格式 
    <2> 定位状态,A=有效定位,V=无效定位 
    <3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输) 
    <4> 纬度半球N(北半球)或S(南半球) 
    <5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输) 
    <6> 经度半球E(东经)或W(西经) 
    <7> 地面速率(000.0~999.9节,前面的0也将被传输) 
    <8> 地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输) 
    <9> UTC日期,ddmmyy(日月年)格式 
    <10> 磁偏角(000.0~180.0度,前面的0也将被传输) 
    <11> 磁偏角方向,E(东)或W(西) 
    <12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)因为是固定的格式
    所以你取得的
    字符串拆分以下就可以
    比如
    string c="$GPRMC,013946.00,A,3202.1855,N,11849.0769,E,0.05,218.30,111105,4.5,W,A*20.."
    string[] v=c.Split(new char[] { ','});
      

  2.   

    怎么用serialPort控件从com1口接受到GPS上的数据呢?我是用com2口发送的
      

  3.   

    我用1个模拟软件从com2口发送数据,从com1口接受数据
    我对serialPort初始化              serialPort1.PortName = "com1";//选择串口COM1
                serialPort1.BaudRate = 9600;//设置通信口参数
                  serialPort1.DataBits = 8;//数据位 
                  serialPort1.Parity = Parity.None;//校验位 None
                serialPort1.StopBits = StopBits.One;//停止位1位
                  serialPort1.Open();问题1:
    我从com2发送数据,那com2就是发送缓冲区?
    从com1接收数据,那com1是接受缓冲区?
    我是从com1口接受数据吗?问题2:
    怎么取com2口发送的数据呢?