打印

cypress例程中的Bulkloop几句没看懂,求指导

[复制链接]
1971|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
doliphin|  楼主 | 2011-12-3 17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在同步传输的模式下:  
EP2BCL = 0x80;           // arm EP2OUT by writing byte count w/skip.
同步传输为什么要计数?写了这句会有什么影响?

  // enable dual autopointer feature
  AUTOPTRSETUP |= 0x01;
还有这句,用自动指针手册上说在某一段地址范围内会出错,那用自动指针危险性大么?
沙发
japrincess| | 2011-12-5 13:55 | 只看该作者
EP2BCL = 0x80
根据端点6缓冲区数目多少来确定装载端点计数器的数目

使用特权

评论回复
板凳
japrincess| | 2011-12-5 13:56 | 只看该作者
次功能可以作为FIFO的检测;要使用//AUTOPTRSETUP |= 0x01;放在初始化函数里面

使用特权

评论回复
地板
doliphin|  楼主 | 2011-12-7 10:44 | 只看该作者
大神能再详细点解释么?bulkloop中说是为了arm EP2OUT,这个ARM作何理解?EP2BCL的w/skip手册中未做解释,是什么意思?并且这一位什么时候做skip用?EP2BCH:L不是用来计数buffer有多大么?它写个0x80是不是表示128bytes?但是EP2不能设置成128bytes.
2# japrincess

使用特权

评论回复
5
doliphin|  楼主 | 2011-12-7 10:45 | 只看该作者
上面表情处是EP2BCH : L

使用特权

评论回复
6
doliphin|  楼主 | 2011-12-7 10:54 | 只看该作者
大概知道为什么设置成0x80了,是不是这一位就是当skip用的,因为不可能出现128大小的buffer;而ARM的意思相当于舍弃当前数据,装载需要数据
If the SKIP bit is set to ‘1’, the just-received OUT packet
is not committed to the output FIFO for transfer to the
external logic; instead, the packet is ignored, its buffer is
immediately made available for the next OUT packet,
and the output FIFO (and external logic) never even
‘knows’ that it arrived.

使用特权

评论回复
7
doliphin|  楼主 | 2011-12-7 10:58 | 只看该作者
OUTPKTEND的SKIP和EP2BCL的SKIP有什么区别么?

使用特权

评论回复
8
doliphin|  楼主 | 2011-12-7 11:17 | 只看该作者
1)AUTO是什么都不管
2)不用AUTO是可以按照需求对数据进行简单加工或取舍
3)FLAG之类是外部逻辑参与到控制数据传输
上述理解是否正确?
还有个问题,EP2/6 buffer的地址是不一样的,bulkloop中为什么发送到EP2的数据能够从EP6读出来?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:路漫漫其修远兮,吾将上下而求索

0

主题

195

帖子

2

粉丝