📄 entrypoint.txt
字号:
public int ComNo = 1;
public int BaudRate = 19200;
public EquipAndPerformInfo m_EquipAndPerformInfo = new EquipAndPerformInfo();
public LinkLayerDataHandler m_DataHandler = new LinkLayerDataHandler();
//线程入口点
public void EntryPoint()
{
CommPort comm = new CommPort(ComNo,BaudRate);//定义串行口对象
comm.Open();
try
{
while(true)
{
//从串口读取数据
byte [] recData = comm.Read();
if(recData != null && recData.Length > 0)
{
m_DataHandler.AddBytesToTail(recData);
}
else
{
Thread.Sleep(20);
continue;
}
//分析串口数据
while(true)
{
byte [] oneFrame = m_DataHandler.GetOneFrameFromRecBytesList();
if(oneFrame == null || oneFrame.Length == 0)
{
break;
}
else
{
m_EquipAndPerformInfo.CurFrame = oneFrame;
byte [] ackFrame = m_EquipAndPerformInfo.DecodeCurFrame();
if(ackFrame != null)
{
DataEntry dataEntry = new DataEntry(ackFrame.Length);
dataEntry.szData = ackFrame;
m_DataHandler.AddOneFrameToSndDataList(dataEntry);
}
}
Thread.Sleep(0);
}
//从发送队列中获得一帧数据,并写入串口
while(m_DataHandler.m_SndDataList.Count !=0 )
{
byte [] sndData = m_DataHandler.GetOneFrameFromSndDataList();
comm.Write(sndData);
Thread.Sleep(20);//如果有两个帧,则有帧间隔
}
Thread.Sleep(20);
}
}
catch
{
}
finally
{
comm.Close();
}
//return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -