📄 版本说明.txt
字号:
本固件软件包分为两个版本:C语言版 和 汇编语言版
一. C 语言版的改进
1. 增加了固件程序的可移植性:
(1)将与硬件相关与硬件无关的函数分配到不同的文件中
(2)编译时不必考虑编译器的大小端模式,固件中已做了处理
2. 对原有版本进行了整理,依据为分层思想:
(1)D12Config.h: D12运行的硬件环境配置头文件,包括D12引脚对应的I/O口定义、数据地址和命令地址的宏定义
(2)D12HAL.c: 硬件抽象层:与CPU相关的函数, 包括初始化D12引脚函数Init_D12Port()、复位D12函数Rst_D12()
输出数据到D12函数outportb()、从D12读取数据函数inportb()
(3)D12CI.c: 实现D12的所有命令,该文件与硬件无关
(4)Chap_9.c: 实现USB协议: 包括控制传输处理函数control_handler()及端点0中断处理函数ep0_rxdone()、
ep0_txdone(). 除此以外还有其它协议层相关函数,该文件与硬件无关
(5)D12Driver.c D12的应用层: 包括初始化D12函数Init_D12(), D12中断处理函数 Usb_Exception()
端点1 和 端点2 接收与发送处理函数ep1_txdone()、ep1_rxdone()、ep2_txdone()和ep2_rxdone()
如果你需要在中断服务函数中增加其它处理,请在该文件中改动
(6)Descriptor.c 描述符文件: 该文件包含D12的描述符,需要改动产品ID号请在此处改动,其它的不必改动.
(7)描述符结构体与D12相关端点大小的定义在Descriptor.h文件, D12命令的全部宏定义在D12CI.h
USB事件结构体定义在Chap_9.h中.
3. 对源码进行了详细的注释,但函数接口保持与以前版本一致.
二、汇编语言版
汇编语言也进行了与C语言一样的改进,区别只是D12CI.c改用了汇编编写,改为D12CI.asm,速度上比C语言版有很大的提高.
还有一些要注意:
(1)D12CI.asm 已包含D12的中断服务处理函数fn_usb_isr(),但只是一个函数,没有中断入口,D12真正的中断服务程序为
D12Driver.c文件的Usb_Exception(),该函数调用了fn_usb_isr().
(2)MCU访问D12的地址定义为两个全局变量,这两个变量必须在固件的开始处进行初始化,见D12Driver.c文件的Init_D12()
函数.
(3)在Driver.c文件中增加了读D12 芯片ID 号的函数INT16U D12_ReadChipID(void)。
请在使用本版本固件程序之前认真阅读光盘目录下的: 产品手册.pdf 文件.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -