⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d12ci.h

📁 移植了可运行于arm lpc2294下的uc/os2
💻 H
字号:
/**********************************************************************************************************
*** 文   件   名: D12CI.h
** 描        述: PDIUSBD12 设备端驱动程序 接口控制驱动层头文件
**********************************************************************************************************/

#ifndef __D12CI_H__
#define __D12CI_H__

/**  D12 相关定义 ***/
#define D12_NOLAZYCLOCK			0x02
#define D12_CLOCKRUNNING        0x04
#define D12_INTERRUPTMODE		0x08
#define D12_SOFTCONNECT			0x10
#define D12_ENDP_NONISO			0x00
#define D12_ENDP_ISOOUT			0x40
#define D12_ENDP_ISOIN			0x80
#define D12_ENDP_ISOIO			0xC0

#define D12_CLOCK_12M			0x03
#define D12_CLOCK_4M			0x0b
#define D12_SETTOONE            0x40
#define D12_SOFONLY				0x80

#define D12_DMASINGLE			0x00
#define D12_BURST_4				0x01
#define D12_BURST_8				0x02
#define D12_BURST_16			0x03
#define D12_DMAENABLE           0x04
#define D12_DMA_INTOKEN			0x08
#define D12_AUTOLOAD			0x10
#define D12_NORMALPLUSSOF		0x20
#define D12_ENDP4INTENABLE		0x40
#define D12_ENDP5INTENABLE		0x80

#define D12_INT_ENDP0OUT		0x01
#define D12_INT_ENDP0IN			0x02
#define D12_INT_ENDP1OUT		0x04
#define D12_INT_ENDP1IN			0x08
#define D12_INT_ENDP2OUT		0x10
#define D12_INT_ENDP2IN			0x20
#define D12_INT_BUSRESET		0x40
#define D12_INT_SUSPENDCHANGE	0x80
#define D12_INT_EOT				0x0100

#define D12_SETUPPACKET			0x20

#define D12_BUFFER0FULL			0x20
#define D12_BUFFER1FULL			0x40

#define D12_FULLEMPTY			0x01
#define D12_STALL				0x02


/************************************************************
** 函数名称: INT16U readchipid(void)
** 功能描述: 读取芯片ID
** 输   入: 无
** 输   出: 芯片的ID号
************************************************************/
INT16U readchipid(void);


/************************************************************
** 函数名称: void D12_SetAddressEnable(INT8U bAddress,INT8U bEnable)
** 功能描述: 设置地址使能
** 输   入: INT8U bAddress:  地址
	     INT8U bEnable :  0 --- 禁止
	     		      1 --- 使能
** 输   出: 无
************************************************************/
void D12_SetAddressEnable(INT8U bAddress, INT8U bEnable);


/************************************************************
** 函数名称: void D12_SetEndpointEnable(INT8U bEnable)
** 功能描述: 设置端点使能
** 输   入: INT8U bEnable :  0 --- 禁止
	     		      1 --- 允许
** 输   出: 无
************************************************************/
void D12_SetEndpointEnable(INT8U bEnable);

/************************************************************
** 函数名称: void D12_SetMode(INT8U bConfig,INT8U bClkDiv)
** 功能描述: 模式设置
** 输   入: INT8U bConfig:  模式值
	     INT8U bClkDiv:  分频系数
** 输   出: 无
************************************************************/
void D12_SetMode(INT8U bConfig, INT8U bClkDiv);

/************************************************************
** 函数名称: void D12_SetDMA(INT8U bMode)
** 功能描述: 设置DMA工作方式设置
** 输   入: INT8U bMode:    模式值
** 输   出: 无
************************************************************/
void D12_SetDMA(INT8U bMode);

/************************************************************
** 函数名称: INT16U D12_ReadInterruptRegister(void)
** 功能描述: 读取中断寄存器值
** 输   入: 无
** 输   出: 中断寄存器值
************************************************************/
INT16U D12_ReadInterruptRegister(void);

/************************************************************
** 函数名称: INT8U D12_SelectEndpoint(INT8U bEndp)
** 功能描述: 端点选择
** 输   入: INT8U bEndp:   端点索引号,取值0 ~ 5
** 输   出: 读出的字节
************************************************************/
INT8U D12_SelectEndpoint(INT8U bEndp);

/************************************************************
** 函数名称: INT8U D12_ReadLastTransactionStatus(INT8U bEndp)
** 功能描述: 读取最后处理状态寄存器?
** 输   入: INT8U bEndp:   端点索引号,取值0 ~ 5
** 输   出: 端点最后处理的状态
************************************************************/
INT8U D12_ReadLastTransactionStatus(INT8U bEndp);


/************************************************************
** 函数名称: INT8U D12_ReadEndpointStatus(INT8U bEndp)
** 功能描述: 读取端点状态
** 输   入: INT8U bEndp:   端点索引号,取值0 ~ 5
** 输   出: 端点状态
************************************************************/
INT8U D12_ReadEndpointStatus(INT8U bEndp);

/************************************************************
** 函数名称: INT8U D12_ReadEndpointStatus(INT8U bEndp)
** 功能描述: 设置端点状态
** 输   入: INT8U bEndp:   端点索引号,取值0 ~ 5
	     INT8U bStalled: 状态值
** 输   出: 端点状态
************************************************************/
void D12_SetEndpointStatus(INT8U bEndp,INT8U bStalled);


/************************************************************
** 函数名称: void D12_SendResume(void)
** 功能描述: 传输恢复
** 输   入: 无
** 输   出: 无
************************************************************/
void D12_SendResume(void);

/************************************************************
** 函数名称: INT16U D12_ReadCurrentFrameNumber(void)
** 功能描述: 读取当前帧号
** 输   入: 无
** 输   出: 当前帧号
************************************************************/
INT16U D12_ReadCurrentFrameNumber(void);

/************************************************************
** 函数名称: INT8U D12_ReadEndpoint(INT8U endp,INT8U len,INT8U * buf)
** 功能描述: 读取端点数据
** 输   入: INT8U endp:     端点索引号,取值 0 ~ 5 
	     INT8U len:	     要读取的数据长度
	     INT8U * buf:    接收数据指针
** 输   出: 实际读得的字节数
************************************************************/
INT8U D12_ReadEndpoint(INT8U endp, INT8U len, INT8U * buf);


/************************************************************
** 函数名称: INT8U D12_WriteEndpoint(INT8U endp,INT8U len,INT8U * buf)
** 功能描述: 把数据写入端点
** 输   入: INT8U endp:     端点索引号,取值 0 ~ 5 
	     	 INT8U len:	     要写入的数据长度
	     	 INT8U * buf:    发送数据指针
** 输   出: 实际写入的字节数
************************************************************/
INT8U D12_WriteEndpoint(INT8U endp, INT8U len, INT8U * buf);

/************************************************************
** 函数名称: void D12_AcknowledgeEndpoint(INT8U endp)
** 功能描述: 设置端点应答
** 输   入: INT8U endp:     端点索引号,取值 0 ~ 5 
** 输   出: 无
************************************************************/
void D12_AcknowledgeEndpoint(INT8U endp);

/************************************************************
** 函数名称: void D12_ClearBuff(INT8U endp)
** 功能描述: 清指定端点的缓冲区(包括双缓冲区)?
** 输   入: INT8U endp:     端点索引号,取值 0 ~ 5 
** 输   出: 无
************************************************************/
void D12_ClearBuff(INT8U endp);

/************************************************************
** 函数名称: void disconnect_USB(void) 
** 功能描述: 断开USB总线
************************************************************/
void disconnect_USB(void);


/************************************************************
** 函数名称: void connect_USB(void)
** 功能描述: 连接USB总线
************************************************************/
void connect_USB(void);

/************************************************************
** 函数名称: void reconnect_USB(void)
** 功能描述: 重新连接USB总线
************************************************************/
void reconnect_USB(void);


#endif







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -