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

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

?? usbhostdlg.cpp

?? USB2.0原理與工程開發光盤
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
void CUsbhostDlg::OnFrameButton() 
{
	// TODO: Add your control notification handler code here
	unsigned long  output;
    HANDLE  hDevice = NULL;
	BOOLEAN bResult = FALSE;
    ULONG   nBytes;	
	CString str;
	
    if (UsbOpenDriver (&hDevice, DeviceName) != TRUE) 
	{
		MessageBox("無效設備,請重試!", "錯誤", MB_ICONERROR | MB_OK);
		hDevice = NULL;
		return;
	}

	bResult = DeviceIoControl (hDevice,
                               IOCTL_EZUSB_GET_CURRENT_FRAME_NUMBER,
                               NULL,
                               0,
                               &output,
                               sizeof(unsigned long),
                               &nBytes,
                               NULL);
	if (bResult!=TRUE)
		MessageBox("讀取當前幀號失敗!", "錯誤", MB_ICONERROR | MB_OK);
    else 
	{
		str.Format(_T("當前幀號:%d"),output); 
        m_UsbList.AddString(str);
    }

	CloseHandle(hDevice);
}

///////////////////////////////////////////////////////////////////
//
// 以下是DA0832相關函數。
//
///////////////////////////////////////////////////////////////////
void CUsbhostDlg::OnPhackleButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<256;i++)
		{
			m_PointList[i].y = (float)i;
            m_PointList[i+256].y = (float)i;
            m_PointList[i+512].y = (float)i;
            m_PointList[i+768].y = (float)i;
		}
		BigSmall=false;
	}
	else
	{
		for(int i=0;i<128;i++)
		{
			m_PointList[i].y = (float)i;
            m_PointList[i+128].y = (float)i;
            m_PointList[i+256].y = (float)i;
            m_PointList[i+384].y = (float)i;
		    m_PointList[i+512].y = (float)i;
            m_PointList[i+640].y = (float)i;
            m_PointList[i+768].y = (float)i;
			m_PointList[i+896].y = (float)i;
		}
		BigSmall=true;
	}
	index=1;	
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE);  
}

void CUsbhostDlg::OnNhackleButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<256;i++)
		{		
			m_PointList[i].y = (float)(255-i);
            m_PointList[i+256].y = (float)(255-i);
            m_PointList[i+512].y = (float)(255-i);
            m_PointList[i+768].y = (float)(255-i);
		}
		BigSmall=false;	
	}
	else
	{
		for(int i=0;i<128;i++)
		{
			m_PointList[i].y = (float)(128-i);
            m_PointList[i+128].y = (float)(128-i);
            m_PointList[i+256].y = (float)(128-i);
            m_PointList[i+384].y = (float)(128-i);
		    m_PointList[i+512].y = (float)(128-i);
            m_PointList[i+640].y = (float)(128-i);
            m_PointList[i+768].y = (float)(128-i);
			m_PointList[i+896].y = (float)(128-i);
		}
		BigSmall=true;
	}
	index=2;	
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE);  
}

void CUsbhostDlg::OnTriangleButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<256;i++)
		{
			m_PointList[i].y = (float)i;
            m_PointList[i+256].y = (float)(255-i);
            m_PointList[i+512].y = (float)i;
            m_PointList[i+768].y = (float)(255-i);
		}
		BigSmall=false;
	}
	else
	{
		for(int i=0;i<128;i++)
		{
			m_PointList[i].y = (float)i;
            m_PointList[i+128].y = (float)(128-i);
            m_PointList[i+256].y = (float)i;
            m_PointList[i+384].y = (float)(128-i);
			m_PointList[i+512].y = (float)i;
            m_PointList[i+640].y = (float)(128-i);
            m_PointList[i+768].y = (float)i;
			m_PointList[i+896].y = (float)(128-i);
		}
		BigSmall=true;
	}
	index=3;
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE);   
}

void CUsbhostDlg::OnSquareButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<256;i++)
		{		
			m_PointList[i].y = 255;
            m_PointList[i+256].y = 0;
            m_PointList[i+512].y = 255;
            m_PointList[i+768].y = 0;
		}
		BigSmall=false;
	}
	else
	{
		for(int i=0;i<128;i++)
		{		
			m_PointList[i].y = 255;
            m_PointList[i+128].y = 0;
            m_PointList[i+256].y = 255;
            m_PointList[i+384].y = 0;
			m_PointList[i+512].y = 255;
            m_PointList[i+640].y = 0;
            m_PointList[i+768].y = 255;
            m_PointList[i+896].y = 0;
		}
		BigSmall=true;
	}
	
	index=4;	
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE); 
}

void CUsbhostDlg::OnSinButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<1024;i++)
		{
			m_PointList[i].y = 127+128*(float)sin(2*PI*i/1024);
		}
		BigSmall=false;
	}
	else
	{
		for(int i=0;i<1024;i++)
		{
			m_PointList[i].y = 127+128*(float)sin(2*PI*i/512);			
		}
		BigSmall=true;
	}

	index=5;
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE);  
}

void CUsbhostDlg::OnRandomButton() 
{
	// TODO: Add your control notification handler code here
    int i=0;
	float temp;
	srand((unsigned)time(NULL));
	if (BigSmall)
	{
		while (i<1024)
		{	
			temp=(float)(rand()/100.0);
		    if(temp<=255)
			{
				m_PointList[i].y = temp;
			    i++;
			}
            BigSmall=false;
		}
	}
	else
	{
		while (i<1024)
		{	
			temp=(float)(rand()/100.0);
		    if(temp<=128)
			{
				m_PointList[i].y = temp;
			    i++;
			}
            BigSmall=true;
		}
	}
	index=6;
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE); 
}

///////////////////////////////////////////////////////////////////
//
// 以下是USB相關函數。
//
///////////////////////////////////////////////////////////////////
void CUsbhostDlg::OnSendButton() 
{
	// TODO: Add your control notification handler code here
	HANDLE  hDevice = NULL;
	BOOLEAN bResult = FALSE;
	ULONG   nBytes;
	PUCHAR  buffer;
	ULONG   bufferLength;
    ISO_TRANSFER_CONTROL 	IsoControl;

    if(g_KeepGoing)
	{
		MessageBox("請首先結束當前線程!", "錯誤", MB_ICONERROR | MB_OK);
		return;
	}  
    
	for(int i=0;i<1024;i++)
	{
		PacketoutBuffer[i]=255-(unsigned char)m_PointList[i].y;
	}
    
	if (UsbOpenDriver (&hDevice, DeviceName) != TRUE) 
	{    	 
		MessageBox("無效設備,請重試!", "錯誤", MB_ICONERROR | MB_OK);
		return;
	}

	IsoControl.PipeNum = 1;  
    IsoControl.BufferCount = 2;
    IsoControl.FramesPerBuffer = 8;
	IsoControl.PacketSize = 16; 
    IsoControl.PacketCount = 16;
    
	bufferLength = IsoControl.PacketCount * (IsoControl.PacketSize + sizeof(USBD_ISO_PACKET_DESCRIPTOR));
    buffer = (PUCHAR) malloc(bufferLength);

	memset(buffer, 0, bufferLength);
	*buffer=0x55;  

	bResult = DeviceIoControl (hDevice,
                               IOCTL_Ezusb_RESETPIPE,
                               &IsoControl.PipeNum,
                               sizeof(ULONG),
                               NULL,
                               0,
                               &nBytes,
                               NULL);
	
	if (bResult != TRUE) 
	{
            AfxMessageBox("USB復位端點8失敗!");
			CloseHandle(hDevice);
            return;
	}     

    bResult = DeviceIoControl (hDevice,
                               IOCTL_EZUSB_ISO_WRITE,
                               &IsoControl,
                               sizeof(ISO_TRANSFER_CONTROL),
                               buffer,
                               bufferLength,
                               &nBytes,
                               NULL);

	if (bResult != TRUE) 
	{
            AfxMessageBox("USB同步OUT傳輸失敗!");
            CloseHandle(hDevice);
			return;
	}     

    g_KeepGoing = true;
    if(_beginthread(SendThreadFunction, 0, hDevice) < 0)
    {
		AfxMessageBox("啟動發送數據線程失敗!");
    }
}

void __cdecl SendThreadFunction(HANDLE hDevice)
{
    BOOLEAN bResult = FALSE;
    ULONG nBytes;
    PUCHAR outBuffer = NULL;
	ULONG outBufferLength;
	ISO_TRANSFER_CONTROL 	IsoControlOut;
	
    IsoControlOut.PipeNum = 5; 
    IsoControlOut.BufferCount = 2;
    IsoControlOut.FramesPerBuffer = 8;
    IsoControlOut.PacketSize = 16;
    IsoControlOut.PacketCount = 64; 
   
    outBufferLength = IsoControlOut.PacketCount * (IsoControlOut.PacketSize + sizeof(USBD_ISO_PACKET_DESCRIPTOR));
    outBuffer = (PUCHAR) malloc(outBufferLength);

    for (ULONG i = 0; i < (IsoControlOut.PacketCount * IsoControlOut.PacketSize); i++)
    {
         outBuffer[i] = PacketoutBuffer[i];
    }

    while (g_KeepGoing) 
    {
       bResult = DeviceIoControl (hDevice,
                             IOCTL_Ezusb_RESETPIPE,
                             &IsoControlOut.PipeNum,
                             sizeof(ULONG),
                             NULL,
                             0,
                             &nBytes,
                             NULL);

       if (bResult != TRUE)
	   {
		   AfxMessageBox("USB復位端點10失敗!");
	       goto IsoTransferDone;
	   }

       bResult = DeviceIoControl (hDevice,
                             IOCTL_EZUSB_ISO_WRITE,
                             &IsoControlOut,
                             sizeof(ISO_TRANSFER_CONTROL),
                             outBuffer,
                             outBufferLength,
                             &nBytes,
                             NULL);


	   if (bResult != TRUE) 
	   {
           AfxMessageBox("USB同步OUT傳輸失敗!");
	       goto IsoTransferDone;
	   }
   }

IsoTransferDone:
	CloseHandle(hDevice);
	g_KeepGoing=false;
    _endthread();  
}

void CUsbhostDlg::OnEndButton() 
{
	// TODO: Add your control notification handler code here
	HANDLE  hDevice = NULL;
	BOOLEAN bResult = FALSE;
	ULONG   nBytes;
	PUCHAR  buffer;
	ULONG   bufferLength;
    ISO_TRANSFER_CONTROL 	IsoControl;

    g_KeepGoing = false;

	if (UsbOpenDriver (&hDevice, DeviceName) != TRUE) 
	{    	 
		MessageBox("無效設備,請重試!", "錯誤", MB_ICONERROR | MB_OK);
		return;
	}

	IsoControl.PipeNum = 3; 
    IsoControl.BufferCount = 2;
    IsoControl.FramesPerBuffer = 8;
	IsoControl.PacketSize = 16;  
    IsoControl.PacketCount = 16; 

	bufferLength = IsoControl.PacketCount * (IsoControl.PacketSize + sizeof(USBD_ISO_PACKET_DESCRIPTOR));
    buffer = (PUCHAR) malloc(bufferLength);

	memset(buffer, 0, bufferLength);
	*buffer=0xaa;  

	bResult = DeviceIoControl (hDevice,
                               IOCTL_Ezusb_RESETPIPE,
                               &IsoControl.PipeNum,
                               sizeof(ULONG),
                               NULL,
                               0,
                               &nBytes,
                               NULL);
	
	if (bResult != TRUE) 
	{
            AfxMessageBox("USB復位端點9失敗!");
			CloseHandle(hDevice);
            return;
	}     

    bResult = DeviceIoControl (hDevice,
                               IOCTL_EZUSB_ISO_WRITE,
                               &IsoControl,
                               sizeof(ISO_TRANSFER_CONTROL),
                               buffer,
                               bufferLength,
                               &nBytes,
                               NULL);

	if (bResult != TRUE) 
	{
            AfxMessageBox("USB同步OUT傳輸失敗!");
            CloseHandle(hDevice);
			return;
	}     
  	CloseHandle(hDevice);
}

void CUsbhostDlg::OnClearButton() 
{
	// TODO: Add your control notification handler code here
	int count=m_UsbList.GetCount();
	
	for (int i=0;i < count;i++)
	{
		m_UsbList.DeleteString( 0 );
	}
}

void CUsbhostDlg::OnExitButton() 
{
	// TODO: Add your control notification handler code here
    if(g_KeepGoing)
	{
		MessageBox("請首先結束當前線程!", "錯誤", MB_ICONERROR | MB_OK);
		return;
	}	
	OnOK();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
福利电影一区二区| 国产精品嫩草99a| 中文字幕乱码亚洲精品一区| 亚洲精品视频一区二区| 久久9热精品视频| 欧美视频在线不卡| 国产精品亲子伦对白| 久久国产三级精品| 欧美无砖砖区免费| 亚洲欧美一区二区三区极速播放 | 不卡av电影在线播放| 欧美xxxxx裸体时装秀| 亚洲一区二区3| 成人97人人超碰人人99| 精品久久国产老人久久综合| 亚洲成人在线观看视频| 91性感美女视频| 国产精品美女久久久久aⅴ国产馆| 天堂久久久久va久久久久| 91美女片黄在线| 国产精品久久久久久久久搜平片| 免费成人在线观看| 欧美一区在线视频| 婷婷激情综合网| 69精品人人人人| 石原莉奈在线亚洲三区| 欧美午夜精品久久久| 亚洲综合色网站| 欧美午夜在线一二页| 亚洲女女做受ⅹxx高潮| 99久久国产综合精品女不卡| 国产精品美女久久久久久久久 | 亚洲人成电影网站色mp4| jizzjizzjizz欧美| 国产精品传媒视频| 99精品国产99久久久久久白柏| 国产精品久久久久影视| av激情亚洲男人天堂| 中文字幕佐山爱一区二区免费| 成人免费视频caoporn| 中文字幕在线一区| 色婷婷久久99综合精品jk白丝| 亚洲免费观看高清完整版在线| 在线观看欧美日本| 日韩和欧美的一区| 久久在线观看免费| 不卡在线观看av| 一区二区三区国产豹纹内裤在线| 在线免费亚洲电影| 美国精品在线观看| 中文字幕欧美区| 91老司机福利 在线| 日韩综合在线视频| 久久久www成人免费无遮挡大片 | 色婷婷精品大在线视频| 亚洲国产一区二区在线播放| 日韩一区二区三区三四区视频在线观看| 日本强好片久久久久久aaa| 精品日韩99亚洲| 99在线精品视频| 日日夜夜精品视频天天综合网| 精品国产乱码久久久久久浪潮| 大尺度一区二区| 一片黄亚洲嫩模| 精品福利一二区| 色综合久久综合| 激情久久五月天| 亚洲综合男人的天堂| 久久久精品tv| 91麻豆精品国产91久久久资源速度 | 精久久久久久久久久久| 中文字幕av一区二区三区| 在线观看日韩av先锋影音电影院| 日本成人中文字幕| 综合分类小说区另类春色亚洲小说欧美| 在线视频一区二区三区| 久久99久国产精品黄毛片色诱| 中文字幕日韩av资源站| 欧美成人一区二区| 在线观看不卡一区| 国产99一区视频免费| 秋霞国产午夜精品免费视频| 国产精品成人在线观看| 欧美成人精品福利| 欧美亚洲国产一区在线观看网站 | 久久99国产精品久久99| 亚洲精品成人悠悠色影视| 国产午夜一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 粉嫩绯色av一区二区在线观看| 亚洲无人区一区| 国产精品久久久久久久久动漫| 日韩欧美国产一区二区在线播放| 色综合视频在线观看| 丁香五精品蜜臀久久久久99网站| 三级一区在线视频先锋| 亚洲一区二区免费视频| 亚洲美女视频在线| 中文字幕在线不卡一区 | 亚洲精品福利视频网站| 中文字幕精品在线不卡| 精品国精品自拍自在线| 欧美一区二区视频在线观看2020| 在线观看国产91| 色婷婷国产精品| 91小视频在线| 91视频xxxx| 91免费在线播放| 不卡的看片网站| 99精品欧美一区二区三区小说| 国产传媒日韩欧美成人| 国产麻豆成人精品| 久草中文综合在线| 激情综合色综合久久综合| 久久99国产精品免费网站| 精品影视av免费| 精品亚洲aⅴ乱码一区二区三区| 麻豆专区一区二区三区四区五区| 日本亚洲欧美天堂免费| 久久国产精品99久久久久久老狼| 奇米精品一区二区三区在线观看一| 午夜日韩在线观看| 日韩二区三区在线观看| 青草国产精品久久久久久| 美腿丝袜在线亚洲一区| 久久se精品一区精品二区| 美女任你摸久久| 国产精品亚洲一区二区三区在线| 韩国女主播成人在线| 国产99久久久精品| 色狠狠一区二区| 欧美一区二区福利在线| 欧美电影免费观看完整版| 久久男人中文字幕资源站| 国产精品国产三级国产三级人妇 | 韩国成人在线视频| 粉嫩一区二区三区在线看| 91视频.com| 69久久99精品久久久久婷婷| 日韩欧美一卡二卡| 国产农村妇女毛片精品久久麻豆| 国产精品国产馆在线真实露脸 | 国产精品久久一卡二卡| 亚洲猫色日本管| 欧美96一区二区免费视频| 国产麻豆9l精品三级站| 91久久免费观看| 精品久久人人做人人爽| 中文字幕亚洲欧美在线不卡| 天天综合天天综合色| 国产成人一级电影| 欧美综合视频在线观看| 欧美mv日韩mv| 亚洲丝袜精品丝袜在线| 奇米精品一区二区三区在线观看 | 日韩一区二区三区视频在线| 亚洲国产精品精华液2区45| 亚洲大片在线观看| 国产成人午夜电影网| 欧美日韩国产美| 国产精品另类一区| 男人操女人的视频在线观看欧美 | 一区二区三区免费网站| 另类中文字幕网| 色偷偷一区二区三区| 精品sm捆绑视频| 亚洲不卡av一区二区三区| 国产成人av影院| 777奇米成人网| 亚洲品质自拍视频网站| 粉嫩绯色av一区二区在线观看| 在线综合+亚洲+欧美中文字幕| 亚洲色图欧美激情| 精品亚洲成a人在线观看| 欧美日韩一区二区三区在线看| 国产精品色婷婷| 精品一区二区成人精品| 欧美丰满高潮xxxx喷水动漫| 亚洲人成网站影音先锋播放| 国产真实乱对白精彩久久| 欧美一区二区三区在线看| 一级日本不卡的影视| 成人黄页在线观看| 精品久久国产字幕高潮| 美腿丝袜亚洲色图| 在线不卡的av| 亚洲一区二区三区四区的| 99精品视频在线观看免费| 国产精品萝li| 成人精品视频.| 欧美激情一区二区三区在线| 激情久久久久久久久久久久久久久久| 欧美精品一卡二卡| 日韩电影在线免费| 欧美日韩国产大片| 亚洲国产视频在线| 欧美日韩日日摸| 日本三级亚洲精品| 欧美一级高清片| 美女视频一区在线观看|