资源简介
SY2200 EZ-USB FX2开发板的所有例子源代码,有助于USB开发的学习。
代码片段和文件信息
#include “a3load.h“
BOOL GotSUD; // Received setup data flag
BOOL IsFX2;
BOOL CheckForFX2()
{
BYTE temp;
// make a backup copy of the test register
temp = INTSETUP_FX2;
// see if we are running on an FX2 by writing to a register that
// only exists on FX2 and reading back the value that should stick
INTSETUP_FX2 = 0xFF;
if (INTSETUP_FX2 == 0x0B)
{
INTSETUP_FX2 = temp;
return TRUE;
}
else
{
INTSETUP_FX2 = temp;
return FALSE;
}
}
void SetupCommand_EZUSB()
{
WORD addr len bc i;
if (SETUPDAT_EZUSB[1] == VR_RAM)
{
addr = SETUPDAT_EZUSB[2]; // Get address and length
addr |= SETUPDAT_EZUSB[3] << 8;
len = SETUPDAT_EZUSB[6];
len |= SETUPDAT_EZUSB[7] << 8;
if(SETUPDAT_EZUSB[0] == VR_DOWNLOAD)
{
while(len) // Move new data through EP0OUT
{ // one packet at a time.
// Arm endpoint - do it here to clear (after sud avail)
OUT0BC_EZUSB = 0;
while(EP0CS_EZUSB & bmOUTBSY_EZUSB);
bc = OUT0BC_EZUSB; // Get the new bytecount
for(i=0; i *((BYTE xdata *)addr+i) = *(OUT0BUF_EZUSB+i);
addr += bc;
len -= bc;
}
}
else if(SETUPDAT_EZUSB[0] == VR_UPLOAD)
{
while(len) // Move requested data through EP0IN
{ // one packet at a time.
if(len < EP0BUFF_SIZE)
bc = len;
else
bc = EP0BUFF_SIZE;
for(i=0; i *(IN0BUF_EZUSB+i) = *((BYTE xdata *)addr+i);
IN0BC_EZUSB = (BYTE)bc; // Arm endpoint with # bytes to transfer
addr += bc;
len -= bc;
while(EP0CS_EZUSB & bmINBSY_EZUSB);
}
} // if VR_UPLOAD
} // if VR_RAM
else if (SETUPDAT_EZUSB[1] == VR_ISFX2)
{
IN0BUF_EZUSB[0] = 0; // not FX2
IN0BC_EZUSB = 1;
}
// finish off the transfer by setting the handshake bit
EP0CS_EZUSB |= bmHSNAK_EZUSB;
}
void SetupCommand_FX2()
{
WORD addr len bc i;
if (SETUPDAT_FX2[1] == VR_RAM)
{
addr = SETUPDAT_FX2[2]; // Get address and length
addr |= SETUPDAT_FX2[3] << 8;
len = SETUPDAT_FX2[6];
len |= SETUPDAT_FX2[7] << 8;
if(SETUPDAT_FX2[0] == VR_DOWNLOAD)
{
while(len) // Move new data through EP0OUT
{ // one packet at a time.
// Arm endpoint - do it here to clear (after sud avail)
EP0BCH_FX2 = 0;
EP0BCL_FX2 = 0; // Clear bytecount to allow new data in; also stops NAKing
while(EP0CS_FX2 & bmEPBUSY);
bc = EP0BCL_FX2; // Get the new bytecount
for(i=0; i *((BYTE xdata *)addr+i) = *(EP0BUF_FX2+i);
addr += bc;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5067 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\a3load\a3load.c
文件 2340 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\a3load\a3load.h
文件 2317 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\a3load\a3load.hex
文件 13707 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\a3load\A3LOAD.M51
文件 1163 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\a3load\build.bat
文件 493 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\a3load\readme.txt
文件 764 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\a3load\USBJmpTb.a51
文件 1948 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\build.bat
文件 27767 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext
文件 10317 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.c
文件 7857 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.hex
文件 182 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.lnp
文件 17775 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.LST
文件 111422 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.M51
文件 12497 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.OBJ
文件 940 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.Opt
文件 282 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.plg
文件 1946 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext.Uv2
文件 1946 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\bulkext_Uv2.Bak
文件 8853 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\dscr.a51
文件 17790 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\dscr.LST
文件 1027 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\dscr.OBJ
文件 13255 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\fw.c
文件 19693 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\fw.LST
文件 6689 2004-08-10 11:56 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\fw.OBJ
文件 252 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkext\readme.txt
文件 1956 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkloop\build.bat
文件 27702 2004-08-10 11:57 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkloop\bulkloop
文件 10082 2002-09-16 11:43 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkloop\bulkloop.c
文件 7636 2004-08-10 11:57 SY2200 EZ-USB FX2开发套件光盘\SY2200 Examples\FX2\bulkloop\bulkloop.hex
............此处省略352个文件信息
- 上一篇:C&C08程控数字交换仿真教学系统
- 下一篇:PMON工作原理分析
相关资源
- CY7C68013-A实现PC机与FPGA的USB通信例程
- 《EZ-USB FX2单片机原理、编程及应用》
- EZ-USB_devtools_version_261700
- EZ-USB+FX2单片机原理、编程及应用
- STM32/PLC/FX2N/程序/KEIL4/5源码/单片机/仿
- 三菱\\fx2n使用手册.
- 三菱PLC FX2N说明书
- 三菱FX2N顺控PLC程序
- 三菱FX2N实现MODBUS-RTU多台PLC通迅
- 原装三菱PLC FX2n 电路图
- CyAPI库包括CAPI.lib及CyAPI.hcyioct.h
- FX2N-1PG程序
- FX2NPLC+2AD+4ADTC+2DA+电阻尺+编码器+PID温
- FX2N-PLC -MODBUS 通信手册
- 基于三菱FX2N的PLC非PID实现温度控制的
- 利用 EZ-USB® FX3 从器件 FIFO 接口进行设
- FX2N-2AD模拟量程序
- 三菱PLC恒压供水(fx2n)
- 基于组态王与三菱FX2N的电梯监控系统
- STM32仿三菱FX1S、FX1N、FX2N源码
- FX2N-2DA中文手册
- FX1N_STM32/PLC/FX2N/程序/KEIL4/5源码/单片机
- RFX2401C参考设计 包括PCB、原理图
- 三菱plc和fx2n-4ad-tc实现温度pid闭环控制
- FX2N-HT32源码+sch+pcbKeil4/5/STM32/FX2N/PLC源
- STM32 PLC 源码 仿FX2N
- 基于stm32的仿三菱FX2N PLC
- 三菱FX2N-232IF设置.doc
- 基于PLC全自动洗衣机设计三菱FX2N系列
- 升降机PLC三菱FX2N)程序
评论
共有 条评论