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

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

?? basicusb_6124.cpp

?? ATMEL ATSAM7S64處理器部分控制程序。
?? CPP
字號:
// BasicUSB_6124.cpp : Defines the entry point for the console application.
//
#include <windows.h>
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <process.h>
#include "USBLibrary.h"

typedef struct _DEVICE {
	char *name;
	unsigned int number;
	unsigned int txrate;
	struct _DEVICE *next;
	char active;
} *PDEVICE, DEVICE;

PDEVICE listOfDevice = (PDEVICE) 0;

unsigned int deviceNumber = 0;
HANDLE threadMutex;

//*----------------------------------------------------------------------------
//* \fn    GenerateBuffer
//* \brief 
//*----------------------------------------------------------------------------
int GenerateBuffer(char *buff, unsigned int maxLength)
{
	unsigned int length = 0;

	while (!length || !(length % 64)) {
		length = rand() % maxLength;
		for (unsigned int i = 0; i < length; ++i)
			buff[i] = rand() % 0xFF;
	}

	return length;
}

//*----------------------------------------------------------------------------
//* \fn    DeviceThread
//* \brief 
//*----------------------------------------------------------------------------
#define MSG_SIZE 1000
void DeviceThread(void *pVoidDevice)
{
	PDEVICE pDevice = (PDEVICE) pVoidDevice;
	CFCPipeUSB pipe;
	char txMsg[MSG_SIZE], rxMsg[MSG_SIZE];
	unsigned long  msgLength, msgWritten;

	// open the device
	if (pipe.Open(pDevice->name))
		printf("-E- Can not open device %d\n%s\n", pDevice->number, pDevice->name);
	printf("-I- New device connected %d \n", pDevice->number); 
	
	while (1) {
		msgLength = GenerateBuffer(txMsg, MSG_SIZE);
		if (pipe.WritePipe(txMsg, msgLength, &msgWritten) || (msgLength != msgWritten)) {
			printf("-E- Write operation to device %d failed\n", pDevice->number);
			break;
		}
		if (pipe.ReadPipe (rxMsg, msgLength)) {
			printf("-E- Read operation to device %d failed\n", pDevice->number);
			break;
		}
		if (memcmp(txMsg, rxMsg, msgLength))
			printf("-E- Device %d Message received & transmitted are different\n");

		WaitForSingleObject( threadMutex, INFINITE );
		pDevice->txrate += msgLength;
		ReleaseMutex( threadMutex );

		Sleep(1000L);
	}

	// close handle
	pipe.Close();
	printf("-I- Device %d not responding: closed\n", pDevice->number); 


	// Unlink from the the deviceList

	WaitForSingleObject( threadMutex, INFINITE );
	pDevice->active = 'N';
	ReleaseMutex( threadMutex );

	_endthread();
}

//*----------------------------------------------------------------------------
//* \fn    DllMain
//* \brief 
//*----------------------------------------------------------------------------
int main(int argc, char* argv[])
{
	unsigned int nbConnectedDevices, nbActiveDevice, i;
	char ** strConnectedDevices;
	PDEVICE ptDevice;

	threadMutex = CreateMutex( NULL, FALSE, NULL );   /* Cleared */

	printf("==========================================================\n");
	printf("=======    ATMEL USB Basic Application             =======\n");
	printf("==========================================================\n");

	do
    {
		// Get all device names
 		nbConnectedDevices = GetUsbDeviceListName(&strConnectedDevices);
		for ( i = 0; i < nbConnectedDevices; ++i) {

			// Search if the device has been detected
			for (ptDevice = listOfDevice; ptDevice; ptDevice = ptDevice->next) {
				if (!strcmp(ptDevice->name, strConnectedDevices[i])) {
					WaitForSingleObject( threadMutex, INFINITE );
					// If the device has been stoppped, restart it
					if (ptDevice->active == 'N') {
						ptDevice->active = 'Y';
						_beginthread( DeviceThread, 0, ptDevice );
					}
					ReleaseMutex( threadMutex );
					break;
				}
			}

			// If the device has not been registered, register it and create a new task
			if (!ptDevice) {
				ptDevice = (PDEVICE) malloc(sizeof(DEVICE));
				ptDevice->name = _strdup(strConnectedDevices[i]);
				ptDevice->txrate = 0;
				ptDevice->number = deviceNumber++;
				ptDevice->next = listOfDevice;

				WaitForSingleObject( threadMutex, INFINITE );
				ptDevice->active = 'Y';
				ReleaseMutex( threadMutex );

				listOfDevice = ptDevice;

				printf("-I- Add device %d\n", deviceNumber, ptDevice);
				_beginthread( DeviceThread, 0, ptDevice );
			}

		}

/*		// Delete name list returned by GetUsbDeviceListName
		if (nbConnectedDevices != 0) {
				for ( i = 0; i < nbConnectedDevices; ++i)
					free(strConnectedDevices[i]);
			free(strConnectedDevices);
		}
*/
 		Sleep(2000L); // Sleep 2s

		// Print statistics
		WaitForSingleObject( threadMutex, INFINITE );
		nbActiveDevice = 0;
		printf("==========================================================\n");
		for (ptDevice = listOfDevice; ptDevice; ptDevice = ptDevice->next) {
			printf("\t Device %02d  Transfered %d Bytes/s Active: %c\n", ptDevice->number, ptDevice->txrate, ptDevice->active);
			if (ptDevice->active == 'Y')
				++nbActiveDevice;
		}
		ReleaseMutex( threadMutex );

    } while( nbActiveDevice );
	printf("-I- No device connected\n");

	return 1;
}
	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜电影一区| 日本道色综合久久| 日本亚洲免费观看| 丝袜a∨在线一区二区三区不卡| 国产精品婷婷午夜在线观看| 久久一区二区视频| 久久丝袜美腿综合| 欧美精彩视频一区二区三区| 久久久久久久久蜜桃| 亚洲精品在线观| 久久久电影一区二区三区| 久久众筹精品私拍模特| xfplay精品久久| 国产亚洲综合av| 综合电影一区二区三区 | ●精品国产综合乱码久久久久| 国产欧美一区二区精品忘忧草| 国产亚洲欧美一级| 18涩涩午夜精品.www| 亚洲午夜成aⅴ人片| 日本欧美在线观看| 久久精品99久久久| 懂色av噜噜一区二区三区av| 成人免费视频一区| 欧美中文一区二区三区| 欧美一区二区啪啪| 国产日韩成人精品| 亚洲资源中文字幕| 麻豆精品视频在线观看免费| 国产精品18久久久久久久久久久久 | 99精品热视频| 在线播放一区二区三区| 久久久久久久精| 亚洲精品福利视频网站| 看片的网站亚洲| 99re热这里只有精品免费视频| 欧美日韩高清一区二区三区| 精品久久免费看| 一区二区三区四区亚洲| 极品销魂美女一区二区三区| 成人免费毛片aaaaa**| 欧美三级资源在线| 大胆欧美人体老妇| 日韩视频免费观看高清完整版在线观看 | 日韩欧美一级二级三级| 国产日韩欧美a| 亚洲午夜电影在线| 成人免费高清视频在线观看| 精品视频色一区| 自拍偷拍亚洲欧美日韩| 强制捆绑调教一区二区| 一本大道久久精品懂色aⅴ| 日韩一区二区三区在线视频| 亚洲乱码国产乱码精品精的特点 | 国产 欧美在线| 亚洲欧洲性图库| 日韩电影免费一区| 亚洲一区在线播放| 成人免费视频一区二区| 欧美成人伊人久久综合网| 夜色激情一区二区| 成人av先锋影音| 久久中文娱乐网| 男男成人高潮片免费网站| 在线视频观看一区| 亚洲欧洲成人精品av97| 国产黄色成人av| 久久久综合精品| 国产在线精品免费| 日韩午夜激情免费电影| 日韩中文欧美在线| 欧美日韩成人综合天天影院| 亚洲黄色录像片| 色噜噜狠狠色综合欧洲selulu| 国产精品高清亚洲| 精品国内片67194| 精品国产免费一区二区三区香蕉| 亚洲一区二区综合| 欧美性一级生活| 亚洲一区在线电影| 欧美高清激情brazzers| 亚洲成av人片在www色猫咪| 日本高清免费不卡视频| 一区二区三区四区中文字幕| 色综合天天综合给合国产| 亚洲黄色小视频| 欧美日韩免费电影| 视频在线观看国产精品| 日韩欧美高清一区| 韩日av一区二区| 欧美国产视频在线| 97久久超碰国产精品| 亚洲午夜一区二区| 欧美一级爆毛片| 麻豆国产91在线播放| 欧美精品一区二区久久久| 国产精品一区一区三区| 中文字幕不卡在线播放| 色琪琪一区二区三区亚洲区| 亚洲影院久久精品| 欧美一区二区在线观看| 国产精品一级片| 亚洲丝袜美腿综合| 欧美日韩视频一区二区| 精品一区二区在线免费观看| 欧美高清在线一区二区| 色噜噜狠狠色综合欧洲selulu| 天天操天天色综合| 久久精品免费在线观看| 色哟哟一区二区三区| 青草av.久久免费一区| 欧美国产成人精品| 欧美日韩亚洲高清一区二区| 国产精品一区在线| 秋霞影院一区二区| jizzjizzjizz欧美| 国产成人精品免费在线| 亚洲三级小视频| 3d成人h动漫网站入口| 国产一区不卡视频| 亚洲综合色成人| 久久久久国产一区二区三区四区 | 国产精品久久久久永久免费观看 | 高清免费成人av| 亚洲国产一二三| 国产日韩欧美制服另类| 欧美亚洲动漫精品| 成人午夜电影网站| 日韩av网站在线观看| 激情久久久久久久久久久久久久久久| 欧美在线不卡一区| 亚洲自拍偷拍麻豆| 欧美精品一区在线观看| 91欧美一区二区| 国产一区二区三区四区五区美女 | 久久欧美中文字幕| 欧美日韩激情一区二区| 国产美女一区二区三区| 水蜜桃久久夜色精品一区的特点 | 国产精品夜夜嗨| 开心九九激情九九欧美日韩精美视频电影 | 亚洲自拍偷拍麻豆| 国产亚洲欧美激情| 日韩免费电影网站| 欧美久久一二区| 91高清在线观看| 不卡的av中国片| 国产精品一区二区三区网站| 日韩电影一区二区三区四区| 一区二区三区国产| 亚洲免费色视频| 国产精品乱人伦一区二区| 精品国产精品网麻豆系列| 欧美一区二区在线不卡| 欧美高清视频www夜色资源网| 欧美性一二三区| 欧美精品在欧美一区二区少妇| 日本韩国欧美一区| 欧美亚洲国产一区在线观看网站| 99久久精品99国产精品| 99re这里只有精品首页| 色偷偷成人一区二区三区91| 久久九九99视频| 欧美在线观看一二区| 亚洲午夜精品久久久久久久久| 国产亚洲欧美日韩在线一区| 欧美精品一区二区在线播放| 日韩午夜激情视频| 亚洲精品一线二线三线无人区| 日韩三级视频在线看| 久久天天做天天爱综合色| 久久久国产精品午夜一区ai换脸| 国产免费久久精品| 亚洲欧美综合网| 亚洲综合激情另类小说区| 丝袜国产日韩另类美女| 激情小说亚洲一区| 成人教育av在线| 欧美午夜电影在线播放| 日韩视频一区二区| 国产精品卡一卡二| 亚洲精品成人在线| 日本伊人色综合网| 国产成人8x视频一区二区| 91在线云播放| 丝袜国产日韩另类美女| 99免费精品视频| 91在线观看视频| 国产精品女主播在线观看| 一区二区三区四区av| 精品亚洲porn| 色久综合一二码| 日韩一卡二卡三卡国产欧美| 国产欧美日韩另类视频免费观看| 依依成人综合视频| 韩国女主播成人在线| 欧美三级韩国三级日本三斤 | 日本视频一区二区三区| 成人福利视频在线看| 日韩一区二区在线观看视频播放|