saite136
驱动牛犊
驱动牛犊
  • 注册日期2004-05-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分51分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2453回复:3

批量传输的一帧最大是多少字节呢?

楼主#
更多 发布于:2005-03-07 10:10
现在程序在测试主机一次发送超过64个字节的数据,主机可以在一帧之内发送出去,但是从机的fifo最大只有64字节,
所以从机产生的中断都是一帧有一个中断,而且只能接收前64个字节,下面的就收不到了。
 
想知道可否在主机端设置一下,让主机最大一帧就只有64字节呢
kkyouking
驱动中牛
驱动中牛
  • 注册日期2004-02-23
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分47分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-07 12:17
主机端可以大于64个字节,而设备端是接收小于等于64个字节就中断一次,把数据移走,就可接收下一次的64个字节了
52+PDIUSBD12开发套件 SL811单片机读写U盘套件 www.devking.cn 联系sl811hs@yahoo.com.cn QQ 14441292
Clamfly
驱动牛犊
驱动牛犊
  • 注册日期2005-01-21
  • 最后登录2006-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-07 14:41
是不是你的EndPoint Descriptor数据设置错误了,记得里边有一项叫wMaxPacketSize的。
saite136
驱动牛犊
驱动牛犊
  • 注册日期2004-05-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分51分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-07 22:04
to   kkyouking
我用程序测试了一下,发现设备端不是小于等于64就中断,而是主机发数据过来的时候,就会有中断,这个中断是每一帧一个中断,
不管一帧之内有多少数据包,所以从机在一次中断中,加上fifo的限制,只能接收前面的64个字节,就是第一个数据包。

现在打算在主机端把一帧设为最大64字节,然后在主机端先分包,分为64字节大小的,再发送,这样从机就可以完整的收下数据了,
至于数据总长度,可以在发送数据包之前先让主机发送长度值过去,
然后由从机来组装数据包。

从机给主机发送数据也差不多要设计成这样子,比较麻烦的,
主要是芯片没有一个寄存器来存放要发送的数据总长
芯片是arm2410,三星的
游客

返回顶部