不好意思~請高手解救

下面是用visual studio 2005 寫的
這程式是說用來接收與顯示GPS的資料
可是小弟我看沒有
請高手解說
如果可以 請儘可能詳細點
我的程度不好......

這是我照書上打的
這可以用在PDA模擬器上跑嗎?


我是在用專題~要研究這如何接收GPS訊號然後分析還有模擬
請高手解救



using System.IO.Prots;
{
public NMEAProtocol protocol = new NMEAProtocol();
public SerialPort port = new SerialPort();
System.Text.Encoding encoding = System.Text.ASCIIEncoding.GetEncoding(1252);


prot.PortName = COMlistBox.SelectedItem as string;
port.Parity = Parity.None;
port.BaudRate = 4800;
port.StopBits = StopBits.One;
port.DataBits = 8;
port.Open();



byte[] bData = new byte[256];
port.Read(bData,0,256);
protocol.ParseBuffer(bData);

DisplayNMEARawData(bData);
}

private void DisplayNMEARawData(byte[] bData)
{
string sData="";
if(null !=bData)
{
sData = encoding.GetString(bData);
}

if (dumpRawDataCheck.Checked)
{
if(NMEAText.Text.Length > 100*1000)
{
NMEAText.Text = NMEAText.Text.Substring(50000,50000);
}

NMEAText.Text = NMEA.Text+sData;
NMEAText.SelectionStart = NMEAText.Text.Length-1;
NMEAText.ScrollToCaret();
}
}
public void ProtocolCommand(string sCmd,byte[] bData)
{
string data = EncodeToString(bData);
switch(sCmd)
{
case "GPGGA":
ProtocolGPGGA(data);
break;
case "GPGSA":
ProtocolGPGSA(data);
break;
case "GPGSV":
ProtocolGPGSV(data);
break;
case "GPRMC":
ProtocolGPRMC(data);
break;
case "GPRMB":
ProtocolGPRMB(data);
break;
case "GPZDA":
PortocolGPZDA(data);
break;
default:
break;
}
CommandCount = CommandCount+1;
}
2007-06-05 11:38 發佈
文章關鍵字 意思 高手
基本上我平常都只負責玩,好像也沒深入去研究過GPS的coding
不過以一般GPS的基本知識,跟看了一下上面的片段code
我想你有些地方需要先去弄清楚:
1. GPS資料的代表意義
2. COM port的操作

就我所知,一個最簡單的GPS資料收集,就是定時的去連結GPS的com port把資料拿回來
拿回來的資料通常就是一行字串,然後你再根據每個不同字串的不同格式去得到你要的資訊

以上面的程式碼.....
port的部份就是在設定com port的屬性
然後最下面那個switch case的部份就是判斷說拿到的字串是哪種格式,然後呼叫相對應的function處理

建議你先去了解一下整個GPS資料接收的原理,要先有概念再來看程式會比較好
7D + 15-85 & Kiss X + A16
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?