首页| 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次
  • 浏览次数:1次
  • 资源积分: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