?? usbtransfer.h
字號:
/*****************************Copyright(c)****************************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**------File Info-----------------------------------------------------------------------------------------
** File Name: USBTransfer.h
** Latest modified Date: 2007-11-14
** Latest Version: V1.0
** Description: USB主機軟件包的傳輸函數(shù)USBTransfer.c頭文件
**
**--------------------------------------------------------------------------------------------------------
** Created By: 吳隆穗 Longsui Wu
** Created date: 2007-11-14
** Version: V1.0
** Descriptions: 初始版本
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
*********************************************************************************************************/
#ifndef __USBTRANSFER_H
#define __USBTRANSFER_H
#include "USBHostConfig.h"
typedef struct __tagUSB_HOST_EVENT_CNT {
USB_INT8U ucStdTranCnt; /* 標(biāo)準(zhǔn)請求計數(shù)器 */
USB_INT8U ucDataTranCnt; /* 非控制傳輸計數(shù)器 */
} __USB_HOST_EVENT_CNT, *__PUSB_HOST_EVENT_CNT;
/*********************************************************************************************************
** Function name: usbStandardReqTransfer
** Descriptions: 發(fā)送標(biāo)準(zhǔn)請求, 并取得返回值
** input parameters: pusbDevReq 標(biāo)準(zhǔn)請求
** output parameters: pucBuf 設(shè)備返回的數(shù)據(jù)
** puiSts 狀態(tài),如錯誤號等
** Returned value: 錯誤碼
*********************************************************************************************************/
USB_INT8U usbStandardReqTransfer (PUSB_DEV_REQ pusbDevReq, USB_INT8U *pucBuf);
/*********************************************************************************************************
** Function name: usbDataTransfer
** Descriptions: 發(fā)送或接收 Bulk, Intrrupt 傳輸?shù)臄?shù)據(jù)
** input parameters: pucData 要發(fā)送或接收的數(shù)據(jù)緩沖區(qū)
** uiLength 要發(fā)送或接收數(shù)據(jù)的長度
** uiTranType 傳輸類型: __HC_ED_TYPE_BULK 或 __HC_ED_TYPE_INTR
** ucMaxTryCount 當(dāng)出現(xiàn)錯誤時,最大的重試次數(shù)
** Returned value: 錯誤碼
*********************************************************************************************************/
USB_INT8U usbDataTransfer (USB_INT8U *pucData, /* 數(shù)據(jù)緩沖區(qū) */
USB_INT32U uiLength, /* 要傳輸?shù)臄?shù)據(jù)長度 */
USB_INT8U ucTranType, /* 傳輸類型 */
USB_INT8U ucMaxTryCount); /* 發(fā)生錯誤時最大嘗試次數(shù) */
#define usbHostIntrRead(pucData, uiLength, ucMaxTry) usbDataTransfer(pucData, uiLength, \
USB_TRAN_TYPE_INTR_IN, ucMaxTry)
#define usbHostIntrWrite(pucData, uiLength, ucMaxTry) usbDataTransfer(pucData, uiLength, \
USB_TRAN_TYPE_INTR_OUT, ucMaxTry)
#define usbHostBulkRead(pucData, uiLength, ucMaxTry) usbDataTransfer(pucData, uiLength, \
USB_TRAN_TYPE_BULK_IN, ucMaxTry)
#define usbHostBulkWrite(pucData, uiLength, ucMaxTry) usbDataTransfer(pucData, uiLength, \
USB_TRAN_TYPE_BULK_OUT, ucMaxTry)
#define usbHostIntrIn(pucData, uiLength, ucMaxTry) usbHostIntrRead(pucData, uiLength, ucMaxTry)
#define usbHostIntrOut(pucData, uiLength, ucMaxTry) usbHostIntrWrite(pucData, uiLength, ucMaxTry)
#define usbHostBulkIn(pucData, uiLength, ucMaxTry) usbHostBulkRead(pucData, uiLength, ucMaxTry)
#define usbHostBulkOut(pucData, uiLength, ucMaxTry) usbHostBulkWrite(pucData, uiLength, ucMaxTry)
#define USB_TIMEOUT_TICK (OS_TICKS_PER_SEC * 2)
/* 信號量等待時間最長為 2s */
#endif
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -