📄 device.lst
字号:
C51 COMPILER V8.05a DEVICE 04/14/2008 18:30:50 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE DEVICE
OBJECT MODULE PLACED IN DEVICE.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DEVICE.C LARGE OMF2 BROWSE DEBUG
line level source
1 /* 以下为USB设备方式的应用程序, 完整程序在CH372/CH375调试工具程序包中CH372DBG.C */
2 /*
3 ; 单片机内置USB调试固件程序 V1.0
4 ; 用于连接CH372或者CH375的单片机进行简单的调试功能
5 ; 可以用include直接包含到应用系统的主程序中,或者添加到工程项目中
6 ;
7 ; Website: http://winchiphead.com
8 ; Email: tech@winchiphead.com
9 ; @2004.08
10 ;****************************************************************************
11 */
12
13 /* MCS-51单片机C语言, KC7.0 */
14 /* 用于其它类型单片机或者硬件资源不同时, 该程序应该根据需要进行局部修改 */
15
16 #define CH375HF_NO_CODE 1
17 #include "CH375.H"
18
19 #ifdef __C51__
20 #pragma NOAREGS
21 #endif
22
23 #ifndef MAX_DATA_SIZE
24 #define MAX_DATA_SIZE 20 /* 单次命令处理的最大数据长度,有效值是1到56 */
25 #endif
26
27 typedef struct _USB_DOWN_PACKET { /* 下传的数据包结构,用于命令/写数据 */
28 UINT8 mCommand; /* 命令码,见下面的定义 */
29 UINT8 mCommandNot; /* 命令码的反码,用于校验下传数据包 */
30 union {
31 UINT8 mByte[4]; /* 通用参数 */
32 UINT16 mWord[2]; /* 通用参数,低字节在前,Little-Endian */
33 UINT32 mDword; /* 通用参数,低字节在前,Little-Endian */
34 void *mAddress; /* 读写操作的起始地址,低字节在前,Little-Endian */
35 } u;
36 UINT8 mLength; /* 下面的缓冲区的长度,读写操作的字节数 */
37 UINT8 mBuffer[ MAX_DATA_SIZE ]; /* 数据缓冲区 */
38 } USB_DOWN_PKT;
39
40 typedef struct _USB_UP_PACKET { /* 上传的数据包结构,用于状态/读数据 */
41 UINT8 mStatus; /* 状态码,见下面的定义 */
42 UINT8 mCommandNot; /* 命令码的反码,用于校验上传数据包 */
43 UINT8 mReserved[4];
44 UINT8 mLength; /* 下面的缓冲区的长度,读操作的字节数 */
45 UINT8 mBuffer[ MAX_DATA_SIZE ]; /* 数据缓冲区 */
46 } USB_UP_PKT;
47
48 typedef union _USB_DATA_PACKET { /* USB上传或者下传数据缓冲区 */
49 USB_DOWN_PKT down;
50 USB_UP_PKT up;
51 } USB_DATA_PKT;
52
53 /* 命令码定义,按位说明
54 位7为命令类型: 0=实现特定功能, 1=存储器和SFR读写
55 对于"实现特定功能"命令类型:
C51 COMPILER V8.05a DEVICE 04/14/2008 18:30:50 PAGE 2
56 位6-位0为定义的具体命令码, 命令码为00H-7FH, 其中: 00H-3FH为通用标准命令, 40H-7FH为与应用系统有关的
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -