📄 d12driver.lst
字号:
C51 COMPILER V7.50 D12DRIVER 02/29/2008 14:36:29 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE D12DRIVER
OBJECT MODULE PLACED IN D12Driver.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D12Driver.c DEBUG OBJECTEXTEND
line level source
1 /****************************************Copyright (c)**************************************************
2 ** 广州周立功单片机发展有限公司
3 ** 研 究 所
4 ** 产品一部
5 **
6 ** http://www.zlgmcu.com
7 **
8 ** 文 件 名: D12Driver.c
9 ** 最后修改日期: 2004年11月15日
10 ** 描 述: USB驱动程序软件包: PDIUSBD12 设备端驱动程序 应用层
11 ** 版 本: V5.0
12 **********************************************************************************************************
-/
13
14 #include <reg52.h>
15 #include "D12Config.h"
16 #include "D12CI.h"
17 #include "D12HAL.h"
18 #include "Chap_9.h"
19 #include "Descriptor.h"
20 #include "D12Driver.h"
21
22 INT8U *GenEpBuf; //端点1接收缓冲区
23 //INT8U idata EpBuf[EP2_PACKET_SIZE]; //端点2接收缓冲区
24 INT8U *EpBuf;
25 INT8U ep2_len;
26 INT8U ep1_len;
27
28
29 /*******************************************************************
30 ** 函数名称: usbserve()
31 ** 功能描述: USB事件处理函数
32 ** 输 入: 无
33 ** 输 出: 无
34 ********************************************************************/
35 void usbserve(void)
36 {
37 1 if (bEPPflags.bits.setup_packet){ //Setup包处理
38 2 DISABLE();
39 2 bEPPflags.bits.setup_packet = 0;
40 2 control_handler(); //调用请求处理子程序
41 2 ENABLE();
42 2 }//if setup_packet
43 1
44 1 if (bEPPflags.bits.bus_reset) { //USB总线复位处理
45 2 DISABLE();
46 2 bEPPflags.bits.bus_reset = 0;
47 2 ENABLE();
48 2 d12_busreset();
49 2 } // if bus reset
50 1
51 1 if (bEPPflags.bits.suspend) { //D12挂起改变处理
52 2 DISABLE();
53 2 bEPPflags.bits.suspend= 0;
54 2 ENABLE();
C51 COMPILER V7.50 D12DRIVER 02/29/2008 14:36:29 PAGE 2
55 2 d12_suspend();
56 2 } // if suspend change
57 1
58 1 //在此添加其它usb事件处理代码
59 1 }
60
61
62 /*******************************************************************
63 ** 函数名称: d12_busreset()
64 ** 功能描述: USB总线复位处理函数
65 ** 输 入: 无
66 ** 输 出: 无
67 ********************************************************************/
68 void d12_busreset(void)
69 {
70 1 //在此添加总线复位处理代码
71 1 }
72
73 /*******************************************************************
74 ** 函数名称: dma_eot()
75 ** 功能描述: DMA结束处理函数
76 ** 输 入: 无
77 ** 输 出: 无
78 ********************************************************************/
79 void dma_eot(void)
80 {
81 1 //在此添加DMA结束处理代码
82 1 }
83
84 /*******************************************************************
85 ** 函数名称: d12_suspend()
86 ** 功能描述: 总线挂起改变处理函数
87 ** 输 入: 无
88 ** 输 出: 无
89 ********************************************************************/
90 void d12_suspend(void)
91 {
92 1 //在此添加总线挂起改变代码
93 1 }
94
95 /*******************************************************************
96 ** 函数名称: ep1_txdone()
97 ** 功能描述: 端点1 IN(发送)处理处理函数
98 ** 输 入: 无
99 ** 输 出: 无
100 ********************************************************************/
101 void ep1_txdone(void)
102 {
103 1 D12_ReadLastTransactionStatus(3); //清中断标志位
104 1 }
105
106 /*******************************************************************
107 ** 函数名称: ep1_txdone()
108 ** 功能描述: 端点1 OUT(接收)处理处理函数
109 ** 输 入: 无
110 ** 输 出: 无
111 ********************************************************************/
112 void ep1_rxdone(void)
113 {
114 1 INT8U len;
115 1
116 1 D12_ReadLastTransactionStatus(2); //清中断标志位
C51 COMPILER V7.50 D12DRIVER 02/29/2008 14:36:29 PAGE 3
117 1 len = D12_ReadEndpoint(2,16,GenEpBuf); //读取数据
118 1 if(len != 0)
119 1 {
120 2
121 2 bEPPflags.bits.ep1_rxdone = 1; //标志接收到数据
122 2 ep1_len=len;
123 2 }
124 1 else ep1_len=0;
125 1 }
126
127 /*******************************************************************
128 ** 函数名称: ep2_txdone()
129 ** 功能描述: 端点2 IN(发送)处理处理函数
130 ** 输 入: 无
131 ** 输 出: 无
132 ********************************************************************/
133 void ep2_txdone(void)
134 {
135 1 D12_ReadLastTransactionStatus(5); //清中断标志位
136 1 }
137
138 /*******************************************************************
139 ** 函数名称: ep2_rxdone()
140 ** 功能描述: 端点2 OUT(接收)处理处理函数
141 ** 输 入: 无
142 ** 输 出: 无
143 ********************************************************************/
144 void ep2_rxdone(void)
145 {
146 1 INT8U len;
147 1 D12_ReadLastTransactionStatus(4); //清中断标志位
148 1 len = D12_ReadEndpoint(4,EP2_PACKET_SIZE,EpBuf); //读取缓冲区中的数据
149 1 if (len != 0)
150 1 {
151 2 bEPPflags.bits.ep2_rxdone = 1;
152 2 ep2_len=len;
153 2 }
154 1 else ep2_len=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -