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

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

?? d12ci.c

?? 單片機C語言程序
?? C
字號:
#include "D12HAL.h"
#include "d12ci.h"
#include "mytype.h"
#include "uart0.h"

/************************************************************
** 函數名稱: uint16 readchipid(void)
** 功能描述: 讀取芯片ID
** 輸   入: 無
** 輸   出: 芯片的ID號
************************************************************/
uint16 readchipid(void)
{
	uint8 idata i;
	uint16 idata chipid;
	
	WriteUsbCommand(0xfd);				//發送讀PDIUSBD12芯片ID號命令			
	i = ReadUsbData();				//讀取ID號低字節
	chipid = ReadUsbData();			//讀取ID號高位字節
	chipid = (chipid << 8) + i;		//組成16位的PDIUSBD12芯片ID號
#ifdef debug
	PutString0("Read D12's ChipID. ID is: 0x",200);
	PutUint320((uint32)chipid,16);
	if(0 == chipid)
		PutString0("0000. Error!",12);
	NextLine0();
#endif
	return chipid;
}

	/*****************************************
		與CPU 無關, 與 USB相關的函數
	*****************************************/


/************************************************************
** 函數名稱: void D12_SetAddressEnable(uint8 bAddress,uint8 bEnable)
** 功能描述: 設置地址/使能
** 輸   入: uint8 bAddress:  地址
	     	 uint8 bEnable :  0 --- 禁止
	     		     		  1 --- 使能
** 輸   出: 無
************************************************************/
void D12_SetAddressEnable(uint8 idata bAddress, uint8 idata bEnable)
{
	WriteUsbCommand(0xD0);				//輸出設置地址/使能指令
	if(bEnable)
	{
		bAddress |= 0x80;		//bit7置1,使能
	#ifdef debug
		PutString0("Set Address. Address : ",200);
		if(bAddress != 0x80)
			PutUint320((uint32)(bAddress & 0x7f),10);
		else
			PutChar0('0');
		NextLine0();
	#endif
	}
	WriteUsbData(bAddress);			//輸出設置值
}


/************************************************************
** 函數名稱: void D12_SetEndpointEnable(uint8 bEnable)
** 功能描述: 設置端點使能
** 輸   入: uint8 bEnable :  0 --- 禁止
	     		     		  1 --- 允許
** 輸   出: 無
************************************************************/
void D12_SetEndpointEnable(uint8 idata bEnable)
{
	WriteUsbCommand(0xD8);				//輸出設置端點使能指令
	if(bEnable)
	{
		WriteUsbData(0x01);			//設置端點允許
	#ifdef debug
		PutString0("Set Endpoint enable.\r\n",200);
	#endif
	}
	else
	{
		WriteUsbData(0x00);			//設置端點禁止
	#ifdef debug
		PutString0("Set Endpoint disable.\r\n",200);
	#endif
	}
}

/************************************************************
** 函數名稱: void D12_SetMode(uint8 bConfig,uint8 bClkDiv)
** 功能描述: 模式設置
** 輸   入: uint8 bConfig:  配置字節信息
	     	 uint8 bClkDiv:  分頻系數
** 輸   出: 無
************************************************************/
void D12_SetMode(uint8 idata bConfig,uint8 idata bClkDiv)
{
	WriteUsbCommand(0xF3);			//輸出設置模式指令
	WriteUsbData(bConfig);			//輸出配置字節信息
	WriteUsbData(bClkDiv);			//輸出時鐘分頻因數字節
}

/************************************************************
** 函數名稱: void D12_SetDMA(uint8 bMode)
** 功能描述: 設置DMA工作方式設置
** 輸   入: uint8 bMode: 	設置值
** 輸   出: 無
************************************************************/
void D12_SetDMA(uint8 idata bMode)
{
	WriteUsbCommand(0xFB);				//設置DMA工作方命令
	WriteUsbData(bMode);			//輸出設置值
}

/************************************************************
** 函數名稱: uint16 D12_ReadInterruptRegister(void)
** 功能描述: 讀取中斷寄存器值
** 輸   入: 無
** 輸   出: 中斷寄存器值
************************************************************/
uint16 D12_ReadInterruptRegister(void)
{
	uint8 idata b1;
	uint16 idata j;

	WriteUsbCommand(0xF4);				//讀取中斷寄存器命令
	b1 = ReadUsbData();				//讀取低8位字節
	j = ReadUsbData();				//讀取高8位字節

	j = j << 8;			
	j += b1;					//組合為16位
#ifdef debug
	PutString0("Interrupt Register : 0x",200);
	PutUint320((uint32)j,16);	//以16進制顯示中斷寄存器
	NextLine0();
#endif
	return j;
}

/************************************************************
** 函數名稱: uint8 D12_SelectEndpoint(uint8 bEndp)
** 功能描述: 端點選擇,將內部指針初始化到選擇的緩沖區起始位置
** 輸   入: uint8 bEndp:   端點索引號,取值0 ~ 5
** 輸   出: 讀出的字節
************************************************************/
uint8 D12_SelectEndpoint(uint8 idata bEndp)
{
	uint8 idata c;

	WriteUsbCommand(bEndp);			//端點選擇
	c = ReadUsbData();				//讀出一個字節

	return c;
}

/************************************************************
** 函數名稱: uint8 D12_ReadEndpointStatus(uint8 bEndp)
** 功能描述: 讀取端點狀態
** 輸   入: uint8 bEndp:   端點索引號,取值0 ~ 5
** 輸   出: 端點狀態
************************************************************/
uint8 D12_ReadEndpointStatus(uint8 idata bEndp)
{
	uint8 c;

	WriteUsbCommand(0x80 + bEndp);		//讀取端點狀態命令
	c = ReadUsbData();				//讀取端點狀態
	return c;
}

/************************************************************
** 函數名稱: uint8 D12_ReadLastTransactionStatus(uint8 bEndp)
** 功能描述: 讀取最后處理狀態寄存器

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品99久久久久久似苏梦涵| 亚洲福利一区二区三区| 色婷婷激情一区二区三区| 日本视频中文字幕一区二区三区| 国产精品毛片无遮挡高清| 91精品麻豆日日躁夜夜躁| 91蝌蚪国产九色| 狠狠色狠狠色综合| 午夜精品久久久久影视| 亚洲少妇最新在线视频| 国产亚洲制服色| 91精品国产一区二区三区蜜臀| 99久久精品国产麻豆演员表| 国产原创一区二区三区| 日韩专区一卡二卡| 一区二区三区免费观看| 中文字幕一区二区三区色视频| 欧美不卡在线视频| 欧美一级一区二区| 3atv一区二区三区| 欧美三电影在线| 在线影视一区二区三区| a4yy欧美一区二区三区| 国产成人午夜高潮毛片| 国产乱国产乱300精品| 久久草av在线| 蜜乳av一区二区| 五月天亚洲婷婷| 亚洲一区二区三区美女| 一区二区三区丝袜| 亚洲日本成人在线观看| 亚洲欧美在线高清| 国产精品美女一区二区三区 | 亚洲成人资源在线| 亚洲综合精品自拍| 亚洲美女在线一区| 亚洲精品国久久99热| 日韩理论在线观看| 亚洲人一二三区| 亚洲欧美区自拍先锋| 中文字幕一区二区三| 国产精品久久久久久福利一牛影视 | 成人午夜免费电影| www.成人网.com| 91老师片黄在线观看| 色伊人久久综合中文字幕| 99国产精品国产精品久久| 91丝袜高跟美女视频| 日本福利一区二区| 欧美日韩久久久一区| 91精品国产综合久久蜜臀| 日韩亚洲欧美高清| 久久久久久久综合| 国产精品久久久久久久午夜片| 国产精品国产三级国产普通话三级 | 国产欧美日韩卡一| 中文字幕亚洲不卡| 亚洲国产日韩在线一区模特| 天堂一区二区在线| 久久99精品国产麻豆婷婷洗澡| 国产成人在线网站| 一本久久综合亚洲鲁鲁五月天| 欧美嫩在线观看| 精品国产乱码久久久久久浪潮 | 天天影视色香欲综合网老头| 免费精品视频在线| 成人高清在线视频| 欧美在线不卡视频| 日韩一区二区在线免费观看| 国产亚洲一区二区三区四区| 中文字幕一区二区三区乱码在线| 五月综合激情网| 国产一区二区三区免费看| av激情亚洲男人天堂| 欧美日韩国产a| 国产欧美一区二区在线| 亚洲精品成人在线| 激情综合网最新| 91网站黄www| 精品少妇一区二区三区在线播放| 中文字幕在线一区| 日本aⅴ精品一区二区三区| 不卡一二三区首页| 欧美一级黄色录像| 亚洲综合清纯丝袜自拍| 国产精品一二一区| 欧美日韩国产天堂| 国产精品毛片a∨一区二区三区| 亚洲国产精品久久艾草纯爱| 国产99久久久国产精品潘金 | 亚洲一区二区欧美| 国产精品一二三四区| 欧美蜜桃一区二区三区| 国产精品情趣视频| 蜜桃久久av一区| 欧美在线视频你懂得| 国产精品蜜臀av| 国产一区二区成人久久免费影院 | 午夜av一区二区| 成人黄色电影在线| 欧美成人三级在线| 午夜久久久久久久久| av色综合久久天堂av综合| 久久先锋影音av鲁色资源| 日韩精品成人一区二区三区| 91蜜桃在线观看| 久久久精品国产免大香伊| 奇米影视在线99精品| 91国产视频在线观看| 国产精品三级视频| 国产黄人亚洲片| 欧美va亚洲va国产综合| 亚洲va天堂va国产va久| 色哟哟欧美精品| 亚洲精品视频自拍| 菠萝蜜视频在线观看一区| 久久久亚洲精品石原莉奈| 蜜臀a∨国产成人精品| 91精品国产色综合久久不卡电影| 亚洲精品成人a在线观看| 一本久久综合亚洲鲁鲁五月天| 国产精品欧美一区喷水| 成人美女视频在线观看| 中文一区一区三区高中清不卡| 激情深爱一区二区| 精品国产1区二区| 久久国产视频网| 精品福利在线导航| 韩国女主播成人在线观看| 日韩午夜在线影院| 久久精品99国产精品| 久久综合成人精品亚洲另类欧美 | 成人黄色在线网站| 中文字幕欧美日韩一区| 国产福利一区二区三区视频| 久久蜜桃av一区精品变态类天堂 | 91精品国产手机| 日本特黄久久久高潮| 欧美一级xxx| 精品写真视频在线观看 | 亚洲午夜精品久久久久久久久| 欧美主播一区二区三区美女| 亚洲成av人片一区二区| 欧美一区日本一区韩国一区| 奇米影视7777精品一区二区| 精品国产1区2区3区| 成人永久aaa| 亚洲人成7777| 欧美日韩日本视频| 久久99国产精品免费| 国产欧美一区在线| 色天天综合色天天久久| 无码av中文一区二区三区桃花岛| 制服丝袜在线91| 国产精品综合在线视频| 中文字幕中文字幕在线一区| 欧美图片一区二区三区| 久久99日本精品| 18成人在线观看| 欧美丰满美乳xxx高潮www| 久久国产精品区| 中文字幕欧美一区| 欧美日本一区二区| 国产成人精品综合在线观看| 亚洲欧洲精品天堂一级| 欧美一区二区三区啪啪| 国产成人av在线影院| 一区二区在线观看不卡| 91精品国产免费久久综合| 夫妻av一区二区| 偷拍亚洲欧洲综合| 久久九九久精品国产免费直播| 91一区二区三区在线观看| 日韩av一区二区在线影视| 久久久久国产精品人| 欧美综合天天夜夜久久| 国产真实乱对白精彩久久| 亚洲青青青在线视频| 精品免费视频.| 色999日韩国产欧美一区二区| 日韩国产成人精品| 亚洲天堂久久久久久久| 欧美一区二区三区四区五区| 成人av资源在线| 久久99久久久久| 亚洲午夜影视影院在线观看| 国产欧美va欧美不卡在线| 欧美日韩精品一区二区三区 | 亚洲精品成人精品456| 337p日本欧洲亚洲大胆色噜噜| 91免费视频网| 国产高清不卡一区二区| 天天色天天爱天天射综合| 国产精品久久久久久久久免费丝袜| 91精品免费观看| 91久久人澡人人添人人爽欧美| 国产一区二区三区久久久| 亚洲chinese男男1069| 国产精品久久久久久久久免费丝袜 | 成人午夜激情视频|