我把CY7C68013设置为Slave FIFO模式的话Firmware是否只是需要初始化相应的一些寄存器的值,不需要做别的操作。用EP2_OUT,EP6_IN,上位机是否通过端点传输数据给EP2_OUT端点呢?怎么传?我每次传的数据长度都不同,比方有10个字节的,那我传了10个字节后怎么通知我的Master我已经传了数据到EP2_OUT中,叫他去读,该读多少?相应的我的Master传数据给Host的时候我传515个数据的话我是否是传512个数据后再传3个数据的话是要把数据放到EP6_IN上然后assert PKTEND脚就行???
1.通过控制传输发6个0x01下去,然后固件把这6个01传到EP6中,第一次传下去测试EP6FULL标志位为0,
再传一次看到EP6FULL标志位为1,感觉好像进入到第2个缓冲区了。这个时候我去读EP6,读了第一次出来的数据跟我发的数
据不一样,这个时候EP6FULL标志位为0了,紧接着再读一次,这个时候的数据才是正确的。
这个怎么理解啊?
2.关于FLAGA,B,C的设置,我通过设置如下:
PINFLAGSAB = 0x8c;
PINFLAGSCD = 0xae;
FIFOPINPOLAR = 0x03;
照道理可以实现FLAGA表示EP2FF,FLAGB表示EP2EF,FLAGC表示EP6FF,FLAGD没用,用了高电
平有效。
初始化完成后所有的FLAG标志位为0,这个怎么解释啊?
传输过程中,我通过EP2传输了512个字节下去,自动的装载到EP6,但这个时候所有的FLAG标志位还是全为1,
不知道问题出在哪里了,各位兄弟有没碰到过啊,我会时刻关注的,希望大家给点帮助,项目太急,新手没有办法,只好求助了!!!!
上面有个地方写错了,是初始化后所有的FLAG标志位为1
我最近也在做这个东西,cpld如何去读取fifo中的数据。还有,关于cy7c68013初始化为slave fifo模式,只是设置cy的寄存器就可以了吗? 从pc通过usb线缆的数据是否自动送到EP2的fifo?