我有這樣的代碼,但我不知道如何來獲取數據,並把它放在一個變量:如何從串口獲取數據?
protected override void OnStart(string[] args)
{
/* This WaitHandle will allow us to shutdown the thread when
the OnStop method is called. */
_shutdownEvent = new ManualResetEvent(false);
/* Create the thread. Note that it will do its work in the
appropriately named DoWork method below. */
_thread = new Thread(DoWork);
/* Start the thread. */
_thread.Start();
}
然後在DoWork的,我有以下:
private void DoWork()
{
//opening serial port
SerialPort objSerialPort;
objSerialPort = new SerialPort();
objSerialPort.PortName = "COM2";
objSerialPort.BaudRate = 11500;
objSerialPort.Parity = Parity.None;
objSerialPort.DataBits = 16;
objSerialPort.StopBits = StopBits.One;
objSerialPort.Open();
所以,我打開端口,但從哪裏開始獲取數據?如何初始化變量?收到的消息將採用52 45 41 44 45 52 30 31的格式,其中41 44 45 53 30是十六進制的消息,而52 45是頭文件和31 CRC。
請讓我知道如何去做。
謝謝....
您是否閱讀過[MSDN](http://msdn.microsoft.com/en-us/library/system.io.ports.serialport(v = vs.110).aspx)上的文檔? – 2014-09-03 07:47:30
是的,但我需要操作doWork中的數據我不想調用另一個functon – 2014-09-03 07:48:40
根據我的回答中的評論,我想問你是否知道**線程**的任何內容?如果你不這樣做,我會建議你這樣做,就好像這是在一個線程上運行一樣,你將會有一個非常慢的應用程序! :D – jbutler483 2014-09-03 08:14:10