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

📄 d12ci.h

📁 vC++读写HID_USB设备,包含hid_usb的固件程序和上位机程序
💻 H
字号:
#ifndef __D12CI_H__
#define __D12CI_H__

#include "mytype.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


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


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


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

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

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

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

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

/************************************************************
** 函数名称: uint8 D12_ReadLastTransactionStatus(uint8 bEndp)
** 功能描述: 读取最后处理状态寄存器

⌨️ 快捷键说明

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