亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 7841.c

?? 凌華PCI 7841 自測程序
?? C
字號:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <process.h>
#include "pci7841.h"    //  pci7841 Include file, you can refer to

#define  PATTERNS	2000

long	rcvPatterns[2]={0};
HANDLE rcvEvent0, rcvEvent1;
long handle[2];			//   using for Port Handle
CAN_PACKET rcvMsg[2][PATTERNS], sndMsg[PATTERNS];
long  cout1=0, cout2=0;

short Port_Done[2]={0};


// port 0 receive thread
void ReceiverThread0()
{
	int err,index = 0;
	while (TRUE) 
	{
		if(WaitForSingleObject(rcvEvent0, INFINITE) == WAIT_OBJECT_0)
		{
			cout1 = CanGetRcvCnt(handle[0]);
			/*
			for(index=0;index<cout2;index++)
			{
				err = CanRcvMsg(handle[0], &rcvMsg[0][0]);
				rcvPatterns[0]++;
			}
			*/
			for(index=0;index<cout1;index++)
			{
				err = CanRcvMsg(handle[0], &rcvMsg[0][rcvPatterns[0]]);
				rcvPatterns[0]++;
			}
			if(rcvPatterns[0]>=PATTERNS)
			{
				break;
			}
			
			
		}
	}
	return;
}


// port 1 receive thread
void ReceiverThread1()
{
	long err,index = 0;
	while (TRUE) 
	{
		if(WaitForSingleObject(rcvEvent1, INFINITE) == WAIT_OBJECT_0)
		{
			cout2 = CanGetRcvCnt(handle[1]);
			/*
			for(index=0;index<cout2;index++)
			{
				err = CanRcvMsg(handle[1], &rcvMsg[1][0]);
				rcvPatterns[1]++;
			}
			*/
			
			for(index=0;index<cout2;index++)
			{
				err = CanRcvMsg(handle[1], &rcvMsg[1][rcvPatterns[1]]);
				rcvPatterns[1]++;
			}
			
			if(rcvPatterns[1]>=PATTERNS)
			{
				break;
			}
			
		}
	}
	return;
}


int main(void)
{
	
	PORT_STRUCT setPort;
	int count, c2;
    long send_count=0;
    int error_flag=0;

	/****************************************************************/
	/*							Initial Part						*/
	/****************************************************************/
	
    //   Use _7841_OpenDriver(cardno, portno) to Open Port
    //   cardno : number of card (count from 0)
    //   portno : number of card (count from 0)
    //   For Example, if you have only one card on system,
    //   Use CanOpenDriver(0, 0) to open the upper one port
    //   Use CanOpenDriver(0, 1) to open the lower one port
    if ((handle[0] = CanOpenDriver(0, 0)) == -1)
    {
        printf("\nOpen Port 0 Failed!!");
        return -1;
    }
    if ((handle[1] = CanOpenDriver(0, 1)) == -1)
    {
        printf("\nOpen Port 1 Failed!!");
        return -1;
    }
	setPort.mode     = 0;       //  0 : 11-bit ;  1 : 29-bit CAN network
	setPort.accCode  = 0;	    //	Only ID = accCode can pass the filter
	setPort.accMask  = 0x7FF;   //  Don't care bit
	setPort.baudrate = 3;       //	0: 125kBps; 1:250kBps;	2:500kBps; 3:1MBps
	CanConfigPort(handle[0], &setPort);
    CanConfigPort(handle[1], &setPort);

	/****************************************************************/
	/*						Main program Part						*/
	/****************************************************************/
	//	Main receive loop
	rcvPatterns[0] = 0;
	rcvPatterns[1] = 0;

	//	Initial send buffer
	srand(time(NULL));
    for(count=0;count<PATTERNS;count++)
    {
        sndMsg[count].CAN_ID = count%0x7FF;
        sndMsg[count].rtr = 0;
        sndMsg[count].len = 8;
        for(c2=0;c2<8;c2++)
            sndMsg[count].data[c2] =  rand() % 256;
    }

	//get the receive event handle
	CanGetReceiveEvent(handle[0], &rcvEvent0);
	CanGetReceiveEvent(handle[1], &rcvEvent1);

	//create port0 receive thread
	if(_beginthread(ReceiverThread0, 0, NULL) == -1)
	{
		printf("Create thread 0 failed!!");
		CanCloseDriver(handle[0]);
		return -1;
	}

	//create port1 receive thread
	if(_beginthread(ReceiverThread1, 0, NULL) == -1)
	{
		printf("Create thread 1 failed!!");
		CanCloseDriver(handle[1]);
		return -1;
	}
	Sleep(100);
	printf("\rTransmit start ....\n");

	//send data
	
	for(count=0;count<PATTERNS;count++)
	{
		printf("\rSend %d patterns", count+1);
		CanSendMsg(handle[0], &sndMsg[count]);
	    CanSendMsg(handle[1], &sndMsg[count]);
	}
	Sleep(1000);
	
	/*
	printf("\nPress any key to stop sending data...\n");
	while(!_kbhit())
	{
		printf("\rSend %d patterns, rcvPatterns[0] = %d, rcvPatterns[1] = %d", send_count,rcvPatterns[0],rcvPatterns[1]);
		CanSendMsg(handle[0], &sndMsg[0]);
	    CanSendMsg(handle[1], &sndMsg[0]);
		send_count++;
	}
	_getch();
	*/


	// verify the send data and receive data
	for(count=0;count<PATTERNS;count++)
	{
		if(rcvMsg[0][count].CAN_ID != sndMsg[count].CAN_ID)
		{
			error_flag = 1;
			break;
		}
		if(rcvMsg[0][count].rtr != sndMsg[count].rtr)
		{
			error_flag = 1;
			break;
		}
		if(rcvMsg[0][count].len != sndMsg[count].len)
		{
			error_flag = 1;
			break;
		}
		for(c2=0;c2<8;c2++)
		{
			if(rcvMsg[0][count].data[c2] != sndMsg[count].data[c2])
			{

				error_flag = 1;
				break;
			}
		}
		////////
		if(rcvMsg[1][count].CAN_ID != sndMsg[count].CAN_ID)
		{
			error_flag = 1;
			break;
		}
		if(rcvMsg[1][count].rtr != sndMsg[count].rtr)
		{
			error_flag = 1;
			break;
		}
		if(rcvMsg[1][count].len != sndMsg[count].len)
		{
			error_flag = 1;
			break;
		}
		for(c2=0;c2<8;c2++)
		{
			if(rcvMsg[1][count].data[c2] != sndMsg[count].data[c2])
			{
				error_flag = 1;
				break;
			}
		}
	}

	printf("\nrcvPatterns[0] = %d\n",rcvPatterns[0]);
	printf("rcvPatterns[1] = %d\n",rcvPatterns[1]);


	if(error_flag)
	{
			printf("Error: Receive Buf != Transmit Buffer");
	}

    CanCloseDriver(handle[0]);
    CanCloseDriver(handle[1]);
	printf("\nPress any key to exit the program...\n");
	getch();
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91猫先生在线| 亚洲成人av免费| 悠悠色在线精品| 成人h版在线观看| 亚洲少妇最新在线视频| 国产经典欧美精品| 欧美日产在线观看| 中文字幕一区二区日韩精品绯色| 欧美日韩日日摸| 国产suv精品一区二区三区| 亚洲无人区一区| 国产精品久久福利| 欧美videos大乳护士334| 色婷婷国产精品综合在线观看| 激情伊人五月天久久综合| 一区二区三区四区在线播放| 欧美精品一区二区三区蜜臀| 欧美精品在线一区二区三区| 色综合久久综合网欧美综合网| 国产九色精品成人porny | 国产呦萝稀缺另类资源| 亚洲午夜电影在线| 亚洲男人的天堂在线观看| 日本一二三四高清不卡| 欧美va亚洲va国产综合| 欧美精品一二三区| 欧美性xxxxxx少妇| 99精品偷自拍| 成人免费看视频| 国产成人高清视频| 国产精品一区二区三区99| 久久成人av少妇免费| 免费成人性网站| 日本aⅴ免费视频一区二区三区| 亚洲午夜在线电影| 亚洲精品免费在线| 亚洲另类在线视频| 亚洲免费在线视频| 亚洲精品免费看| 一区二区久久久久久| 一区二区日韩电影| 一区二区三区91| 亚洲五月六月丁香激情| 亚洲成人资源在线| 日韩影院精彩在线| 麻豆精品在线播放| 狠狠色综合日日| 粉嫩av亚洲一区二区图片| 国产91综合网| 91免费小视频| 欧美午夜宅男影院| 91麻豆精品国产91久久久更新时间| 欧美色综合网站| 制服丝袜av成人在线看| 欧美一二三四在线| 337p日本欧洲亚洲大胆色噜噜| 久久久亚洲综合| 中文字幕亚洲区| 亚洲一二三四区| 免费在线观看精品| 国产精品一二一区| caoporen国产精品视频| 欧洲亚洲精品在线| 欧美一区二区私人影院日本| 精品成人一区二区三区四区| 国产欧美日韩另类视频免费观看 | 欧美一区二区三级| 久久久久亚洲综合| 亚洲四区在线观看| 视频在线观看一区| 国产精品1024| 91福利在线导航| 日韩亚洲欧美一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 首页国产欧美久久| 国产在线播放一区| 色综合亚洲欧洲| 51久久夜色精品国产麻豆| 久久免费午夜影院| 一区二区三区欧美激情| 美美哒免费高清在线观看视频一区二区 | 99久久伊人网影院| 欧美一区二区三区男人的天堂| 久久久久久久精| 一区二区久久久久| 国产精品影音先锋| 欧美日本精品一区二区三区| 久久久噜噜噜久噜久久综合| 亚洲与欧洲av电影| 国产乱人伦偷精品视频不卡 | 一本到高清视频免费精品| 欧美一区二区美女| 亚洲特级片在线| 国内成人免费视频| 国产精品嫩草影院com| 日日嗨av一区二区三区四区| 成人三级在线视频| 日韩欧美亚洲一区二区| 一区二区三区成人| 粉嫩一区二区三区性色av| 宅男在线国产精品| 一区二区三区欧美久久| 国产精品456| 日韩欧美的一区| 亚洲图片自拍偷拍| av中文字幕一区| 久久日韩精品一区二区五区| 亚洲成人中文在线| 91免费在线视频观看| 国产三级精品视频| 久久成人免费网站| 欧美二区三区的天堂| 一区二区三区在线视频观看| 成人性生交大片免费 | 亚洲欧美日韩一区| 国产成人免费在线| 久久人人爽人人爽| 久久国产福利国产秒拍| 欧美一区二区在线观看| 亚洲风情在线资源站| 色综合一区二区三区| 国产精品超碰97尤物18| 懂色av中文一区二区三区| 2023国产一二三区日本精品2022| 日韩二区三区四区| 欧美精品高清视频| 婷婷中文字幕综合| 欧美日韩精品三区| 日本乱人伦一区| 亚洲视频小说图片| 99re热视频精品| 亚洲日本青草视频在线怡红院 | 有码一区二区三区| 一本到不卡免费一区二区| 亚洲三级电影网站| 色网综合在线观看| 亚洲精品国产品国语在线app| www.久久精品| 亚洲欧美一区二区久久 | 日韩一区二区不卡| 久久国产精品区| 精品久久人人做人人爰| 日产欧产美韩系列久久99| 日韩一区二区三区观看| 久久精品国产免费看久久精品| 欧美白人最猛性xxxxx69交| 精品一区二区三区在线观看| 26uuu欧美| 不卡的电视剧免费网站有什么| 国产精品动漫网站| 欧美最新大片在线看| 亚洲国产精品久久久久婷婷884 | 9191久久久久久久久久久| 日韩av中文在线观看| 欧美精品一区二区三区四区 | 国产另类ts人妖一区二区| 中文字幕高清不卡| 色婷婷综合久久久久中文| 亚洲国产精品影院| 欧美成人女星排名| 成人黄色在线网站| 亚洲精品日韩一| 91精品国产欧美一区二区18| 捆绑变态av一区二区三区| 国产女主播视频一区二区| 日本乱码高清不卡字幕| 日日嗨av一区二区三区四区| 久久精品视频一区| 一本大道久久a久久精品综合| 日韩在线a电影| 中文字幕av一区二区三区免费看 | 精品久久久久久久久久久久包黑料 | 亚洲日本va在线观看| 欧美精品在线观看播放| 国产成人在线视频网址| 洋洋av久久久久久久一区| 欧美一区二区三区不卡| 成人动漫一区二区在线| 亚洲18女电影在线观看| 久久久久久久久久电影| 欧美三级蜜桃2在线观看| 国产乱国产乱300精品| 亚洲成人动漫精品| 国产欧美一区二区三区在线看蜜臀 | 日韩电影免费在线观看网站| 国产情人综合久久777777| 欧美日韩中文另类| 国产大片一区二区| 午夜精品福利视频网站| 国产精品久久久久7777按摩| 欧美一区二区精美| 99九九99九九九视频精品| 久久99久国产精品黄毛片色诱| 亚洲欧美aⅴ...| 久久久久97国产精华液好用吗| 欧美喷水一区二区| 一本色道久久加勒比精品| 国产精品夜夜嗨| 日本中文字幕一区二区有限公司| 亚洲女子a中天字幕|