51单片机与USB芯片PDIUSBD12接口固件程序

[复制链接]
查看1171 | 回复0 | 2011-9-7 22:43:53 | 显示全部楼层 |阅读模式
<




PDIUSBD12接口外围电路:


以下是驱动库:
以下只用了端点1进行控制传输,端点2的数据传输自己添加,没有使用DMA功能,为简单的固件程序
/**************************************************************************

PHILIPS PDIUSBD12 FIRMWARE

COPYRIGHT (c) 2005 BY JJJ.
-- ALL RIGHTS RESERVED --

File Name: D12_USB.h
Author: Jiang Jian Jun
Created: 2005/4/3
Modified: NO
Revision: 1.0

***************************************************************************/
#ifndef __D12_USB_H_REVISION_FIRST__
#define __D12_USB_H_REVISION_FIRST__
#i nclude
sbit SUSPEND = P3^5;
#define D12_INT_ENDP0OUT 0x0001 //中断寄存器位定义
#define D12_INT_ENDP0IN 0x0002
#define D12_INT_ENDP1OUT 0x0004
#define D12_INT_ENDP1IN 0x0008
#define D12_INT_ENDP2OUT 0x0010
#define D12_INT_ENDP2IN 0x0020
#define D12_INT_BUSRESET 0x0040
#define D12_INT_SUSPENDCHANGE 0x0080
#define D12_INT_EOT 0x0100
#define D12_SETUPPACKET 0x20 //读最后处理状态寄存器的设置信息包0010,0000b
#define EP0_PACKET_SIZE 16 //p0最大16byte
#define USB_ENDPOINT_DIRECTION_MASK 0x80 //设备请求类型,传输方向 D7 1000,0000b
#define USB_REQUEST_TYPE_MASK 0x30 //bmRequest的设置
#define USB_REQUEST_MASK 0x0f
#define USB_STANDARD_REQUEST 0x00 //5,6位的定义
#define USB_VENDOR_REQUEST 0x20
#define USB_DEVICE_DEs criptOR_TYPE 0x01 //描述符类型 设备描述符01h,配置描述符02,接口描述符04,端点描述符05
#define USB_CONFIGURATION_DEs criptOR_TYPE 0x02
#define CONFIG_DEs criptOR_LENGTH 0x002E //配置描述符总长度
//**************************************************************************
//Port And Macros And Structure And Union Definitions
#define SWAP(x) ((((x)
热帖推荐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则