摘要:
多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进行对话。对不同类的对象发出相同的消息将会有不同的行为。比如,... 阅读全文
摘要:
门控时钟,英文名gate clock。所谓“门控”是指一个时钟信号与另外一个非时钟信号作逻辑输出的时钟。比如,你用一个控制信号“与”一个CLK,以控制CLK的起作用时间。在ASIC中利用此来减少功耗,因为功耗主要消耗在MOS的翻转上了,门控时钟的输出,有一段时间不翻转不变化,减少了功耗;但在FPGA... 阅读全文
摘要:
项目中用到的FX2LP 68014A配套的开发环境是suite 3.4.7,自带的调试工具是control console,可以烧写内置RAM或者外置EEPROM,但是它只支持绑定cyusb.sys驱动的设备,不支持老式的ezusb.sys驱动。 项目中的上位机界面程序是基于老的驱动ezusb.sys编写的,没有用到cyusb.lib,对调试造成了麻烦。 有两种方法可以实现方便的调试流... 阅读全文
摘要:
friendly_name 是什么意思:non-endpoint IO method (SetAltIntfc, Open, Reset, etc.)BCD Binary-Coded Decimal,简称BCD,称BCD码或二-十进制代码,亦称二进码十进数.常见BCD编码有8421BCD码... 阅读全文
摘要:
bulkloop例程是USB固件开发中的基础例程,通过它我们可以学到很多基础知识,我在这里也利用下午的时间来学习一下bulkloop例程。bulkloop这个名字就说明了该固件的作用:以bulk型endpoint作为输出和输入端口,让数据"转一圈"。就是在主机端输出一组数据到FX2LP的某一个bul... 阅读全文
摘要:
Lesson1: Windows程序运行原理及程序编写流程Lesson2: 掌握C++基本语法Lesson3: MFC框架程序剖析Lesson4: 简单绘图Lesson5: 文本编程Lesson6: 菜单编程Lesson7: 对话框编程Lesson9: 定制应用程序的外观Lesson10: 绘图控制... 阅读全文
摘要:
Suite3.4.7附带了Hex2Bix程序,它可以将hex文件转换为iic文件,方便把固件烧入到IIC总线上的EEPROM中。 Hex2Bix.exe运行(in cmd),下图是程序界面和命令参数的介绍。 我将Hex2Bix.exe的命令嵌入到Keil工程中,比如下图: 上图中:我把hex2bix拷贝一份放在D盘根目录下(其实可以直接放到工程目录下面,这样可以省去d:\)... 阅读全文
摘要:
上集介绍:
昨天已经把固件开发的环境Keil基本搞好了,而且利用CCD1随机附带的固件程序C文件加上Suite 3.4.7提供的INC和LIB,并对其中不契合的地方稍加修改,最后编译成功,获得了HEX文件,比CCD1附带的HEX文件小了一点点。(不契合原因:老的fx2regs.h文件中没有对端口ABCD(E不能按位访问)的每一位进行定义,所以CCD1的txmaster.c文件开头部分以"sbit ... 阅读全文
摘要:
C:\Keil\C51\INC\Cypress
D:\Cypress\Cypress Suite USB 3.4.7\Firmware\inc 1、发现Suite3.4.7文件夹里面的FX2.h文件和Keil内部携带的FX2.h文件匹配(一样). 2、两个fx2regs.h文件不匹配, Suite3.4.7自带的版本比Keil u3所带版本新。 2.1、Suite自带版本对自动指... 阅读全文
摘要:
cyioctl.h 使用DeviceIoControl()函数和驱动CyUSB.sys通信的时候, 需要用到IO Control(aka IOCTL) code parameter, 这些参数由cyioctl.h定义.CyAPI.lib,CyAPI.h CyAPI.lib,一个C++类库, 提供... 阅读全文