📄 usb_task.lst
字号:
C51 COMPILER V7.06 USB_TASK 01/29/2008 10:59:25 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE USB_TASK
OBJECT MODULE PLACED IN usb_task.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE usb_task.c LARGE OPTIMIZE(9,SPEED) INCDIR(.\;.\;.\) DEFINE(KEIL) DEBUG OBJE
-CTEXTEND
stmt level source
1 /*C**************************************************************************
2 * NAME: usb_task.c
3 *----------------------------------------------------------------------------
4 * Copyright (c) 2003 Atmel.
5 *----------------------------------------------------------------------------
6 * RELEASE: c5131-usb-kbd-light-1_0_2
7 * REVISION: 1.7.2.3
8 *----------------------------------------------------------------------------
9 * PURPOSE:
10 * This file controls the USB protocol.
11 *****************************************************************************/
12 /*_____ I N C L U D E S ____________________________________________________*/
13
14 #include "config.h"
15 #include "usb_task.h"
16 #include "lib_mcu\usb\usb_drv.h"
17 #include "modules\usb_kbd_enum\usb_kbd_enum.h"
18 #include "modules\timer_soft\timer_soft.h"
19 //#include "lib_board\lcd_twi\lcd_twi.h"
20 //#include "lib_board\kbd_4_4\kbd_4_4.h"
21
22 /*_____ M A C R O S ________________________________________________________*/
23
24 /*_____ D E F I N I T I O N ________________________________________________*/
25
26 bit usb_connected;
27 bit usb_connected_stored;
28 bit usb_configured_stored;
29 Uchar usb_sof_counter;
30
31 Uchar usb_kbd_state;
32
33 Uchar transmit_no_key;
34 Union16 idata scan_key;
35 Uchar key_hit;
36 Uchar shift_key;
37
38 extern Uchar usb_configuration_nb;
39 Uchar code usb_keys[]= {HID_ENTER, \
40 HID_SB, HID_SB, HID_SB, HID_SB, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN
-, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_ENTER, \
41 HID_SB, HID_SB, HID_SB, HID_SL, HID_L , HID_SB, HID_L , HID_SB, HID_L , HID_SB
-, HID_SB, HID_L , HID_SB, HID_L , HID_MN, HID_MN, HID_SB, HID_L , HID_SB, HID_SB, HID_ENTER, \
42 HID_SB, HID_SB, HID_SL, HID_MN, HID_L , HID_SB, HID_L , HID_SB, HID_L , HID_BS
-, HID_SL, HID_L , HID_SB, HID_L , HID_MN, HID_SB, HID_SB, HID_L , HID_SB, HID_SB, HID_ENTER, \
43 HID_SB, HID_SL, HID_SB, HID_SB, HID_L , HID_SB, HID_L , HID_SB, HID_L , HID_SB
-, HID_SB, HID_L , HID_SB, HID_L , HID_MN, HID_MN, HID_SB, HID_L , HID_MN, HID_MN, HID_ENTER, \
44 HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN
-, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_MN, HID_ENTER, \
45 HID_ENTER, \
46 HID_W, HID_E, HID_L, HID_C, HID_O, HID_M, HID_E, \
47 HID_SPACEBAR, HID_T, HID_O, HID_SPACEBAR, \
48 HID_A, HID_T, HID_8, HID_9, HID_C, HID_5, HID_1, \
49 HID_3, HID_1, HID_SPACEBAR, HID_H, HID_I, HID_D, \
C51 COMPILER V7.06 USB_TASK 01/29/2008 10:59:25 PAGE 2
50 HID_SPACEBAR, HID_D, HID_E, HID_M, \
51 HID_O, HID_ENTER, HID_ENTER, \
52 HID_T, HID_H, HID_E, HID_SPACEBAR, \
53 HID_A, HID_T, HID_8, HID_9, HID_C, HID_5, HID_1, HID_SPACEBAR,\
54 HID_P, HID_R, HID_O, HID_D, HID_U, HID_C, HID_T, HID_SPACEBAR, \
55 HID_I, HID_S, HID_SPACEBAR, HID_A, HID_SPACEBAR, HID_C, HID_5, HID_1, HID_SPAC
-EBAR, \
56 HID_B, HID_A, HID_S, HID_E, HID_D, HID_SPACEBAR, \
57 HID_C, HID_O, HID_N, HID_T, HID_R, HID_O, HID_L, HID_L, HID_E, HID_R, HID_ENTE
-R, \
58 HID_W, HID_I, HID_T, HID_H, HID_SPACEBAR, HID_T, HID_H, HID_E, HID_SPACEBAR, \
59 HID_F, HID_O, HID_L, HID_L, HID_O, HID_W, HID_I, HID_N, HID_G, HID_SPACEBAR, \
60 HID_F, HID_E, HID_A, HID_T, HID_U, HID_R, HID_E, HID_S, HID_ENTER, \
61 HID_MINUS, HID_SPACEBAR, HID_X, HID_2, HID_SPACEBAR, HID_C, HID_5, HID_1, HID_
-SPACEBAR, HID_C, HID_O, HID_R, HID_E, HID_ENTER, \
62 HID_MINUS, HID_SPACEBAR, HID_3, HID_2, HID_SPACEBAR, HID_K, HID_B, HID_Y, HID_
-T, HID_E, HID_SPACEBAR, HID_F, HID_L, HID_A, HID_S, HID_H, HID_ENTER, \
63 HID_MINUS, HID_SPACEBAR, HID_U, HID_S, HID_B, HID_SPACEBAR, HID_B, HID_O, HID_
-O, HID_T, HID_L, HID_O, HID_A, HID_D, HID_E, HID_R, HID_ENTER, \
64 HID_MINUS, HID_SPACEBAR, HID_U, HID_S, HID_B, HID_SPACEBAR, HID_F, HID_U, HID_
-L, HID_L, HID_SPACEBAR, HID_S, HID_P, HID_E, HID_E, HID_D, HID_SPACEBAR, HID_C, HID_O, HID_N, HID_T, HID_R, HID_O, HID_L
-, HID_L, HID_E, HID_R, HID_SPACEBAR, \
65 HID_W, HID_I, HID_T, HID_H, HID_SPACEBAR, HID_7, HID_SPACEBAR, HID_E, HID_N, H
-ID_D, HID_P, HID_O, HID_I, HID_N, HID_T, HID_S, HID_ENTER, \
66 HID_MINUS, HID_SPACEBAR, HID_U, HID_S, HID_B, HID_SPACEBAR, HID_S, HID_O, HID_
-F, HID_T, HID_W, HID_A, HID_R, HID_E, HID_SPACEBAR, HID_D, HID_E, HID_T, HID_A, HID_C, HID_H, HID_ENTER, \
67 HID_MINUS, HID_SPACEBAR, HID_K, HID_E, HID_Y, HID_B, HID_O, HID_A, HID_R, HID_
-D, HID_ENTER, \
68 HID_MINUS, HID_SPACEBAR, HID_T, HID_W, HID_I, HID_ENTER, \
69 HID_MINUS, HID_SPACEBAR, HID_S, HID_P, HID_I, HID_ENTER, HID_ENTER, \
70 HID_SPACEBAR, HID_SPACEBAR, HID_E, HID_N, HID_J, HID_O, HID_Y, HID_DOT, HID_DO
-T, HID_DOT,HID_ENTER \
71 };
72 #define SIZEOF_USB_KEYS (Uint16)sizeof(usb_keys)
73
74 Uchar usb_key;
75 Uint16 usb_data_to_send;
76 Uchar * usb_key_pointer;
77
78 /*_____ D E C L A R A T I O N ______________________________________________*/
79
80
81
82 /*F**************************************************************************
83 * NAME: usb_task_init
84 *----------------------------------------------------------------------------
85 * PARAMS:
86 * delay: none
87 * return: none
88 *----------------------------------------------------------------------------
89 * PURPOSE:
90 * This function initializes the USB controller and the associated variables.
91 *----------------------------------------------------------------------------
92 * EXAMPLE:
93 *----------------------------------------------------------------------------
94 * NOTE:
95 *----------------------------------------------------------------------------
96 * REQUIREMENTS:
97 *****************************************************************************/
98 void usb_task_init(void)
99 {
100 1 Usb_enable();
C51 COMPILER V7.06 USB_TASK 01/29/2008 10:59:25 PAGE 3
101 1 Usb_detach();
102 1 tempo(TIMER_5_MS);
103 1 Usb_attach();
104 1 configure_usb_clock();
105 1 usb_configure_endpoint(EP_CONTROL, CONTROL);
106 1 usb_reset_endpoint(EP_CONTROL);
107 1
108 1 usb_connected = FALSE;
109 1 usb_connected_stored = TRUE;
110 1 usb_configured_stored = FALSE;
111 1 transmit_no_key = FALSE;
112 1 key_hit = FALSE;
113 1 usb_kbd_state = 0;
114 1 shift_key = 0;
115 1 usb_var_init();
116 1
117 1 Configure_led(0,LED_PORT_2MA);
118 1 Configure_led(1,LED_PORT_2MA);
119 1 Configure_led(2,LED_PORT_2MA);
120 1 Configure_led(3,LED_PORT_2MA);
121 1
122 1 Led_all_off();
123 1 }
124
125
126 /*F**************************************************************************
127 * NAME: usb_task
128 *----------------------------------------------------------------------------
129 * PARAMS:
130 * delay: none
131 * return: none
132 *----------------------------------------------------------------------------
133 * PURPOSE:
134 * This function manages the USB communication
135 *----------------------------------------------------------------------------
136 * EXAMPLE:
137 *----------------------------------------------------------------------------
138 * NOTE:
139 *----------------------------------------------------------------------------
140 * REQUIREMENTS:
141 *****************************************************************************/
142 void usb_task(void)
143 {
144 1
145 1 if (Usb_suspend())
146 1 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -