【发布时间】:2014-09-03 07:38:51
【问题描述】:
我有这段代码,但我不知道如何获取数据并将其放入一个变量中:
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上的文档了吗?
-
是的,但我需要在 doWork 中操作数据我不想调用另一个函数
-
根据我的回答中的评论,我想问一下您是否了解线程?如果你不这样做,我建议你这样做,就好像这是在单个线程上运行一样,你将拥有一个非常慢的应用程序! :D
标签: c# windows-services serial-port listener