首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > EZ-USB 68013 转串口

EZ-USB 68013 转串口

  • 资源大小:174.42 kB
  • 上传时间:2021-06-30
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: EZ-USB 68013 转串口

资 源 简 介

**端点Bulk传输*** 1、该实验利用端点2和端点6进行BULK传输,端点2配置成OUT,512size,Bulk模式,4缓冲,Manual-OUT;端点6配置成IN,512size,Bulk模式,4缓冲,Manual-IN。 2、利用开发板上的串口0,把从OUT端点2接收到的数据发送到串口0,把串口接收到的串口数据,通过4缓冲的端点6发送主机。 3、在端点2 0UT的中断服务程序中,表示端点2已经接收到一包数据了,在此直接调用Seria1 SendString(EP2FIFOBUF,(EP2BCH<<8)| EP2BCL,0)函数把从USB接收到的数据发送到串口0,然后OUTPKTEND=0x82;表示数据不提交到GPIF或者slave fifo,允许接收下一包数据。 4、在串口0的中断服务程序中接收到串口0数据后,if (!(EP2468STAT&0x20))首先判断端点6的FIFO是否己满,此标志为‘1’表示端点6的4个BUFFER都己有数据,并且已经提变给USB了,但是HOST没有来取走,此时不能访问端点6。如果端点未满则直接存储数据到端点6中。If((ReceiveCount0==EndPoint6_MaxInLength)||(temp_data= =0x0A))表示当接收到的数据已经够一个包时或者收到0x0A (换行)时,此时我们就提变一包数据到USB。EP6BCH=ReceiveCount0>>8;EP6BCL= ReceiveCount0即是提变一包数据的语句。所以在这个中断服务程序中,会不断的接收数据,当满一个包时就提交数据。在这里,由于端点6是4缓冲方式,所以最多能够接收4包数据,当接收了4包数据后H0ST还没来取数据时,端点6的满标志会置‘1’,表示端点己满,固件不能再访问端点6了。如果收到换行符(0x0A)时,表示此次数据传输结束,因为0x0A之前接收的数据都是以满包封包的,所以要想结束一次数据传输,最后一个包必须是非满包或者零包,程序最后判断如果0x0A这包数据也恰好为满包的话,紧接着提变一个零包来结束一次数据传输。

文 件 列 表

firmware
Bulk
Bulk.build_log.htm
Bulk.hex
Bulk.iic
Bulk.lnp
Bulk.M51
Bulk.opt.bak
Bulk.plg
Bulk.Uv2.bak
Bulk.uvgui.Administrator
Bulk.uvopt
Bulk.uvproj
dscr.a51
dscr.LST
dscr.OBJ
fw.c
fw.LST
fw.OBJ
IO.c
IO.h
IO.LST
IO.OBJ
periph.c
periph.LST
periph.OBJ
Serial.c
Serial.h
Serial.LST
Serial.OBJ
VIP VIP
0.192072s