readserialportthread.cpp

来自「一个百常实用的串口操作动态链接库」· C++ 代码 · 共 53 行

CPP
53
字号
#include "StdAfx.h"
#include "serialport.h"
extern BOOL g_bReadSerialPortThread;
CList<double,double> g_lstCurPos;
//double g_dbCurPos[10000];
//int g_iRxDataNum=0;

UINT ReadSerialPortThread(LPVOID pParam)
{
	ClosePort();
	Sleep(100);	
	OpenPort(1,115200);
	ClearRXData();
	Sleep(100);	
	g_lstCurPos.RemoveAll();
	
	int iDataNum=0;
	long lRXData[4];
	long lCurData;
	int iRecFltNum=0;
	float dbPos[7]={0.0,0.0,0.0,0.0,0.0,0.0,0.0};

	for (;;)
	{
		
		while((ReadPort(1,&lCurData)<1)&&g_bReadSerialPortThread)
			;
		lRXData[iDataNum]=lCurData;
		iDataNum=(iDataNum+1)%4;
		
		if (!g_bReadSerialPortThread)
			break;

		if(iDataNum==0)
		{
			BYTE* pTest=(BYTE*)&dbPos[iRecFltNum%7];
			for(int i=0;i<4;i++)
			{
				pTest[i]=lRXData[i];
			}
			iRecFltNum++;
			if(iRecFltNum%7==0)
			{
				for(int i=0;i<7;i++)
					g_lstCurPos.AddTail(dbPos[i]);
//					g_dbCurPos[g_iRxDataNum++]=dbPos[i];
			}
		
		}
	}
	ClosePort();
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?