开发板上有一个数码管,是通过I2C总线驱动的,驱动芯片是PCF8574,如果在调试过程中显示一些信息,对我们加快开发进度是很有用的。CYPRESS也提供了一个相关的例程Dev_io,说明了基本的用法,但这个程序不是用框架程序编写的,可能对我们用处并不大。下面简单说明一下在框架程序中加入数码管的功能,是怎样实现的。
这里以Vend_ax例子为例,首先增加一个自定义命令(供应商命令,有没有更好的名字)。在文件 VEND_AX.C里第46行增加如下定义:#define VR_My_Command 0xaf。在211行附件增加如下定义:
EZUSB_WriteI2C(LED_ADDR, 0x01, &(Digit[8]));
EZUSB_WaitForEEPROMWrite(LED_ADDR);
第三、增加对LED_ADDR和Digit[8])的预定义,在文件的开头加入如下的定义:
#define LED_ADDR 0x21
BYTE xdata Digit[] = { 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x98, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e };
第四、增加对I2C总线的初始化函数,在TD_Init()函数中加入如下代码:
EZUSB_InitI2C();
重新编绎一下工程,通过控制面板下载程序到开发板里。在控制面板里的“Req”里输入0xaf,再在“Length”里输入1,最后单击“Vend Req”按钮,就可以看到数码管显示8了。
更多文章请访问:
我的博客1:http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM
我的博客2: http://www.eefocus.com/liangziusb/blog/
EDN小组http://group.ednchina.com/GROUP_GRO_14600_3466.HTM
LZ3684 USB2.0开发板(CY7C68013A), 请访问我的淘宝http://shop64171919.taobao.com
LZ3014 USB3.0开发板(CYUSB3014),请访问我的淘宝http://shop64171919.taobao.com
实体店铺:北京新中发电子市场2557号
良子.2011年
沈阳市东陵区白塔街龙盛家园
欢迎交流:liangziusb@163.com
QQ:392425239
文章评论(0条评论)
登录后参与讨论