设为首页 加入收藏

TOP

计算机COM口数据测试(一)
2023-07-23 13:25:10 】 浏览:139
Tags:计算机 COM


计算机COM口数据测试
一、基本使用流程

程序需要以管理员身份运行,COM口回路测试需短接2,3pin,测试时候使用控制台,配置测试相关路径,并在测试完成后

1.测试配置路径D:\bigdata\INI\FWCOM.ini

2.测试完成后需要在路径D:\bigdata\LOG\生成测试FWCOM.log文件

程序运行结果示意图

运行完成后的日志文件示意图

 二、软件设计
源码分为三个部分,common.cpp基本基本信息配置,function.cpp完成功能实现,最后通过main.cpp运行整个程序

common.cpp

 

配置函数代码
#undef UNICODE
#include "common.h"
#include "Config.h"
void TextColor(int color)
{
	HANDLE stdH = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(stdH, color);
}
void PASS()
{
	printf("The test is: ");

	TextColor(GREEN);
	printf("passed");
	printf("\n");
	printf("\n");
	TextColor(WHITE);

}
void FAIL()
{
	printf("The test is: ");

	TextColor(RED);
	printf("failed");
	printf("\n");
	printf("\n");
	TextColor(WHITE);

}
DWORD SubSystemID(MBTYPE mb[])
{
	DWORD decSubSystemID = 0;
	DWORD aimSubSystemID = 0;
	//	BYTE bus = pciSelect[0], dev = pciSelect[1], func = pciSelect[2], offset = 0x2c;
	BYTE bus = 0;
	BYTE dev = 0;
	BYTE func = 0;
	BYTE offset = 0;
	DWORD address = 0;
	for (int i = 0; i < sizeof(mb); i++)
	{
		//		printf("i = %d\n", i);

		if (mb[i].subSystemId != 0)
		{
			bus = mb[i].bus;
			dev = mb[i].dev;
			func = mb[i].fun;
			offset = mb[i].subSystemIdOffset;
			aimSubSystemID = mb[i].subSystemId;
			address = MAKE_CONFIG_ADDRESS(bus, dev, func, offset);
			FoxLib_SetPortVal(PCI_CONFIG_ADDRESS, address, 4);
			FoxLib_GetPortVal(PCI_CONFIG_DATA, &decSubSystemID, 4);
#ifdef DEBUG
			printf("aimSubSystemID = \"%x\", decSubSystemID = \"%x\"\n", aimSubSystemID, decSubSystemID);
#endif
			if (aimSubSystemID == decSubSystemID)
			{
				return 0;
			}

		}

	}
	printf("Not support MB!\n");
	return 1;
}
void GetGlobalData(char* name)
{
	int i = 0;
	int index = 0;
	int toolSelect = 0;
	if (strstr(name, "hwm") != NULL)
	{
		index = 1;
		for (i = 0; i < cTINumberMax; i++)
		{
			if (cFanName[i][0] != '\0')
			{
				iFanIndex[index] = i;
				index++;
				iAllFanNum++;
			}
		}
		index = 1;
		for (i = 0; i < cTINumberMax; i++)
		{
			if (cTempName[i][0] != '\0')
			{
				iTempIndex[index] = i;

				index++;
				iAllTempNum++;
			}
		}
#ifdef DEBUG
		printf("iAllFanNum = %d, iAllTempNum = %d\n", iAllFanNum, iAllTempNum);
#endif

	}
	else if (strstr(name, "idchk") != NULL)
	{
		index = 1;
		for (i = 0; i < cTINumberMax; i++)
		{
			if (cIdChkName[i][0] != '\0')
			{
				iIdChkIndex[index] = i;
				index++;
				iAllIdChkNum++;
			}
		}
#ifdef DEBUG
		printf("iAllIdChkNum = %d\n", iAllIdChkNum);
#endif

	}
	else if (strstr(name, "pcie") != NULL)
	{
		index = 1;
		for (i = 0; i < cTINumberMax; i++)
		{
			if (cPcieName[i][0] != '\0')
			{
				iPcieIndex[index] = i;
				index++;
				iAllPcieNum++;
			}
		}
#ifdef DEBUG
		printf("iAllPcieNum = %d\n", iAllPcieNum);
#endif

	}
	else if (strstr(name, "sata") != NULL)
	{
		index = 1;
		for (i = 0; i < cTINumberMax; i++)
		{
			if (cSataSpdName[i][0] != '\0')
			{
				iSataSpdIndex[index] = i;
				index++;
				iAllSataSpdNum++;
			}
		}
#ifdef DEBUG
		printf("iAllSataSpdNum = %d\n", iAllSataS
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/10/10
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言:数据结构之单链表(二) 下一篇数据结构之数据结构要学什么,基..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目