📄 ch372drv.lst
字号:
C51 COMPILER V8.08 CH372DRV 06/13/2008 00:00:14 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE CH372DRV
OBJECT MODULE PLACED IN Ch372Drv.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Ch372Drv.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 ; 单片机内置USB调试固件程序 V1.0
3 ; 用于连接CH372或者CH375的单片机进行简单的调试功能
4 ; 可以用include直接包含到应用系统的主程序中,或者添加到工程项目中
5 ;
6 ; Website: http://winchiphead.com
7 ; Email: tech@winchiphead.com
8 ; @2004.08
9 ;****************************************************************************
10 */
11
12 // ------------------------------------------------------------------------------------------------------
13 /********************************************************************************************************
14 ** CH372芯片说明
15 ** CH372芯片占用两个地址位,当A0引脚为高电平时选择命令端口,可以写入命令;当A0引脚为低电平时选择数据端
16 ** 口,可以读写数据。单片机通过8位并口对CH372芯片进行读写,所有操作都是由一个命令码、若干个输入数据和若干
17 ** 个输出数据组成,部分命令不需要输入数据,部分命令没有输出数据。命令操作步骤如下:
18 ** 1)在A0=1时向命令端口写入命令代码;
19 ** 2)如果该命令具有输入数据,则在A0=0时依次写入输入数据,每次一个字节;
20 ** 3)如果该命令具有输出数据,则在A0=0时依次读取输出数据,每次一个字节;
21 ** 4)命令完成,可以暂停或者转到1)继续执行下一个命令。
22 ** CH372芯片专门用于处理USB通讯,在接收到数据后或者发送完数据后,CH372以中断方式通知单片机进行处理。
23 ** 单片机通过CH372接收数据的处理步骤如下:
24 ** 1)当CH372接收到USB主机发来的数据后,首先锁定当前USB缓冲区,防止被后续数据覆盖,然后将INT#引脚设置为低
25 ** 电平,向单片机请求中断;
26 ** 2)单片机进入中断服务程序,首先执行GET_STATUS命令获取中断状态;
27 ** 3)CH372在GET_STATUS命令完成后将INT#引脚恢复为高电平,取消中断请求;
28 ** 4)由于通过上述GET_STATUS命令获取的中断状态是“下传成功”,所以单片机执行RD_USB_DATA命令从CH372读取接
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -