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

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

?? d12ci.c

?? 這是用C語言寫的USB源程序,相信對大家有所幫助
?? C
字號:
#include <reg51.h>                /* special function register declarations   */
#include "mainloop.h"
#include "d12ci.h"
#include "absacc.h"
#include "epphal.h"

#define D12_DATA 0xff02
#define D12_COMMAND 0xff03

extern EPPFLAGS bEPPflags;

//設置地址使能
void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, 0xD0);//輸出指令
	if(bEnable)
		bAddress |= 0x80;
	outportb(D12_DATA, bAddress);//設置地址

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}

//設置端點使能
void D12_SetEndpointEnable(unsigned char bEnable)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, 0xD8);//輸出指令
	if(bEnable)
		outportb(D12_DATA, 1);//設置端點允許
	else
		outportb(D12_DATA, 0);//設置端點禁止

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}

//模式設置
void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, 0xF3);//設置模式
	outportb(D12_DATA, bConfig);
	outportb(D12_DATA, bClkDiv);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}



//讀取中斷寄存器
unsigned short D12_ReadInterruptRegister(void)
{
	unsigned char b1;
	unsigned int j;

	outportb(D12_COMMAND, 0xF4);//讀取中斷寄存器
	b1 = inportb(D12_DATA);
	j = inportb(D12_DATA);

	j <<= 8;
	j += b1;

	return j;
}

//端點選擇
unsigned char D12_SelectEndpoint(unsigned char bEndp)
{
	unsigned char c;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, bEndp);//端點選擇
	c = inportb(D12_DATA);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return c;
}

//讀取最后傳輸狀態
unsigned char D12_ReadLastTransactionStatus(unsigned char bEndp)
{
	outportb(D12_COMMAND, 0x40 + bEndp);//返回最后傳輸狀態
	return inportb(D12_DATA);
}

//讀取端點狀態
unsigned char D12_ReadEndpointStatus(unsigned char bEndp)
{
	unsigned char c;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, 0x80 + bEndp);//讀取端點狀態
	c = inportb(D12_DATA);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return c;
}

//設置端點狀態
void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled)
{
	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, 0x40 + bEndp);//設置端點狀態
	outportb(D12_DATA, bStalled);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;
}

//傳輸恢復
void D12_SendResume(void)
{
	outportb(D12_COMMAND, 0xF6);//設置發送恢復
}

//讀取當前幀號
unsigned short D12_ReadCurrentFrameNumber(void)
{
	unsigned short i,j;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, 0xF5);//讀取當前幀數目
	i= inportb(D12_DATA);
	j = inportb(D12_DATA);

	i += (j<<8);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return i;
}

unsigned short D12_ReadChipID(void)
{
	unsigned short i,j;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, 0xFD);
	i=inportb(D12_DATA);
	j=inportb(D12_DATA);
	i += (j<<8);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return i;
}

//讀取端點數據
unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char * buf)
{
	unsigned char i, j;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, endp);
	if((inportb(D12_DATA) & D12_FULLEMPTY) == 0) {
		if(bEPPflags.bits.in_isr == 0)
			ENABLE;
		return 0;
	}

	outportb(D12_COMMAND, 0xF0);
	j = inportb(D12_DATA);
	j = inportb(D12_DATA);

	if(j > len)
		j = len;

	for(i=0; i<j; i++)
		*(buf+i) = inportb(D12_DATA);

	outportb(D12_COMMAND, 0xF2);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return j;
}

//寫端點
unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char len, unsigned char * buf)
{
	unsigned char i;

	if(bEPPflags.bits.in_isr == 0)
		DISABLE;

	outportb(D12_COMMAND, endp);
	i = inportb(D12_DATA);

	outportb(D12_COMMAND, 0xF0);
	outportb(D12_DATA, 0);
	outportb(D12_DATA, len);

	for(i=0; i<len; i++)
		outportb(D12_DATA, *(buf+i));

	outportb(D12_COMMAND, 0xFA);

	if(bEPPflags.bits.in_isr == 0)
		ENABLE;

	return len;
}

//設置端點應答
void D12_AcknowledgeEndpoint(unsigned char endp)
{
	outportb(D12_COMMAND, endp);
	outportb(D12_COMMAND, 0xF1);
	if(endp == 0)
		outportb(D12_COMMAND, 0xF2);
}

//輸出數據
void outportb(unsigned int Addr, unsigned char Data)
{
	*((unsigned char xdata *) Addr) = Data;
}

//輸入數據
unsigned char inportb(unsigned int Addr)
{
	return *((unsigned char xdata *) Addr);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区高清在线观看| 欧美人体做爰大胆视频| 亚洲在线观看免费| 欧美系列日韩一区| 国产一区 二区 三区一级| 中文字幕亚洲不卡| 欧美四级电影在线观看| 国产在线播放一区三区四| 亚洲精品免费视频| 久久久久久久精| 欧美日韩一区二区三区在线| 国产麻豆欧美日韩一区| 亚洲成人免费看| 中文字幕一区二区三区蜜月| 一本大道久久精品懂色aⅴ| 国产一区二区在线免费观看| 亚洲综合色噜噜狠狠| 中文字幕亚洲一区二区av在线| 91麻豆精品国产91久久久资源速度| 国产精品系列在线观看| 蜜芽一区二区三区| 亚洲国产一二三| 中文字幕+乱码+中文字幕一区| 精品欧美久久久| 欧美日韩免费高清一区色橹橹 | 99视频一区二区| 人人狠狠综合久久亚洲| 在线观看91av| 欧美日韩成人综合| 色94色欧美sute亚洲线路一ni| 国产成人免费av在线| 麻豆成人久久精品二区三区红 | 国产成人精品一区二区三区网站观看| 午夜精品一区二区三区电影天堂| 日本一区二区三区在线观看| 久久精品视频在线看| 日韩欧美www| 欧美日韩不卡一区| 欧美精品三级在线观看| 91福利视频久久久久| 91丨porny丨首页| www.欧美亚洲| 懂色av中文一区二区三区| 国产精品18久久久久久久久久久久 | 高潮精品一区videoshd| 精品综合免费视频观看| 亚洲精品免费一二三区| 亚洲国产精品嫩草影院| 夜夜嗨av一区二区三区四季av| 亚洲国产毛片aaaaa无费看| 一区二区三区精品久久久| 国产精品成人在线观看| 1000精品久久久久久久久| 日韩一区在线免费观看| 2021国产精品久久精品| 国产精品三级久久久久三级| xf在线a精品一区二区视频网站| 欧美成人性战久久| 欧美成人a∨高清免费观看| 欧美一二三四在线| 久久蜜臀精品av| 欧美激情一区二区三区四区| 精品国内二区三区| 欧美激情综合在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 一本高清dvd不卡在线观看| 欧美亚洲动漫制服丝袜| 欧洲一区在线电影| 欧美日韩小视频| 欧美成人官网二区| 久久久久国产精品厨房| 最新久久zyz资源站| 亚洲国产毛片aaaaa无费看 | 亚洲最大成人网4388xx| 亚洲国产视频网站| 一区av在线播放| 一区二区久久久久久| 久久超碰97中文字幕| 成人免费毛片aaaaa**| 欧美日韩国产美| 久久蜜桃香蕉精品一区二区三区| 久久久久亚洲综合| 亚洲妇熟xx妇色黄| 黄色精品一二区| 在线观看一区日韩| 日韩免费一区二区| 国产精品福利一区| 久久疯狂做爰流白浆xx| 成人av资源站| 日韩欧美亚洲一区二区| 最新中文字幕一区二区三区 | 亚洲国产精品高清| 亚洲成人一区在线| 国产suv精品一区二区三区| 在线免费不卡电影| 久久精品夜色噜噜亚洲aⅴ| 亚洲天堂2014| 午夜视频一区二区| 97se亚洲国产综合在线| 日韩一区二区麻豆国产| 亚洲嫩草精品久久| 久久99精品国产麻豆不卡| 99精品视频在线播放观看| 欧美成人精精品一区二区频| 亚洲啪啪综合av一区二区三区| 久久精品国产在热久久| 色婷婷久久久综合中文字幕| 日韩欧美一区在线| 亚洲国产日韩一级| av中文字幕在线不卡| 欧美成人三级在线| 亚洲一区二区黄色| 国产成都精品91一区二区三| 91精品国产高清一区二区三区蜜臀| 国产午夜精品一区二区三区四区| 亚洲男人的天堂网| www.色综合.com| 久久久一区二区三区捆绑**| 久久国产生活片100| 在线欧美日韩精品| 久久久久97国产精华液好用吗| 美腿丝袜亚洲一区| 欧美午夜精品一区| 亚洲人精品午夜| 成人免费视频一区| 欧美一区二区精品在线| 日韩专区中文字幕一区二区| av在线一区二区| 国产精品视频你懂的| 国产一区二区免费视频| 欧美一区二区在线免费观看| 午夜精品免费在线观看| 91麻豆6部合集magnet| 中文字幕在线不卡视频| 国产精品亚洲а∨天堂免在线| 日韩欧美亚洲一区二区| 久久er99热精品一区二区| 欧美精品精品一区| 亚洲精品va在线观看| 99在线视频精品| 日本一区二区三区在线观看| 不卡在线视频中文字幕| 久久久美女艺术照精彩视频福利播放| 久久精品国产第一区二区三区| 91精品国产综合久久精品app| 亚洲影视在线播放| 欧美日韩久久不卡| 成人免费在线视频| 一本久久a久久精品亚洲| 亚洲男人天堂av| 欧美丰满一区二区免费视频| 亚洲国产成人porn| 欧美精品在线观看播放| 日韩av电影免费观看高清完整版在线观看 | 蜜桃精品视频在线| 欧美日韩午夜在线视频| 午夜不卡av免费| 欧美日韩精品福利| 韩国v欧美v日本v亚洲v| 久久综合色8888| www.欧美色图| 亚洲综合清纯丝袜自拍| 色呦呦日韩精品| 日韩电影免费一区| 精品国产91亚洲一区二区三区婷婷| 国产精品一区二区黑丝| 国产精品视频线看| 欧美丰满少妇xxxxx高潮对白| 蜜臀精品久久久久久蜜臀| 国产亚洲精品免费| 99久久久无码国产精品| 国产精品麻豆视频| 色婷婷综合久久久中文字幕| 亚洲激情自拍视频| 777奇米成人网| 国产米奇在线777精品观看| 亚洲激情五月婷婷| 欧美精品第一页| av毛片久久久久**hd| 一区二区三区在线不卡| 欧美www视频| 91麻豆免费看| 精品午夜久久福利影院| 日韩理论片中文av| 亚洲国产欧美在线人成| 中文字幕欧美区| 欧美日韩精品是欧美日韩精品| 粉嫩aⅴ一区二区三区四区五区| 亚洲日本va在线观看| 欧美刺激脚交jootjob| av午夜精品一区二区三区| 亚洲自拍偷拍网站| 国产精品久久久久影院| 欧美日韩黄色影视| 91年精品国产| 久久se这里有精品| 亚洲国产成人va在线观看天堂| 国产偷国产偷亚洲高清人白洁| 欧美性猛片aaaaaaa做受| 国产麻豆成人传媒免费观看|