完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!
我使用GPIF写波形发送小于512字节的数据块。 我在GPIF读取波形间隔中引用了知识库文章“NeXDATABAS/Ac激活DATA”。 在本文中, 为了从FIFO到外部外设写入数据,你将在一个间隔中首先激活数据。这样做将导致FIFO中的第一个字节被驱动到GPIF数据总线,然后您可以在后续的间隔上执行下一个FIFODATA。在相同的间隔上执行激活数据和下一个FIFO数据将导致FIFO指针和驱动新数据(由递增指针指向)的增加,并且应该在随后的间隔中完成。因此,在gpIF写的情况下需要一个下一个FIFO数据。 我在一个间隔(相同的数据)中激活数据,在随后的间隔中激活下一个FIFODATA。 我写了256个字节“0x00,0x01,…,0xFF”,但是读取的数据是258个字节“0x00,0x01,…,0xFF,0xFe,0xFF”。 所以,在FIFO中的最后2个字节,“0xFE,0xFF”重复。 原因是什么? 源代码如下。 /我们只是使用默认值,是的,这不是必要的… tdIn() { EP2CFG= 0xA2;/ /双缓冲,散装 同步延迟; … EP2FIFOCFG=0x15;// 00010101:AutoOut= 1,ZeloLon=1,WordWield= 1 EP2AutoLunh=0x02;//当AutoTube=1时,核心在数据中提交 同步延迟; Ep2AutoLILL=0x00;//当EpxAutoNLLN值满足时 同步延迟; EP2GPIFLGGSEL=0x01;//FIFO空标志 … } 在设备空闲时反复调用空dq民意调查(无效)/调用 { 如果(gpIFiTrg&0x80)//gpIF空闲 { 如果(!)(EP2468 STAT和BME2空) { gpIFiTrg= gpIFiTrWr.gpIFEP2; } … } } 在波形,我重复道:“下一fifodata对后续区间”直到ep2gpifflg空。 GPIF写入波形 710.2 K 以上来自于百度翻译 以下为原文 Hello,everyone! I am using GPIF write waveform to send less than 512 bytes data block. I referenced Knowledge Base Article "NextData/ActivateData in the GPIF read Waveform Interval". In this paper, In order to write data from the FIFO to the external peripheral, you will do an activate data first in one interval. Doing this will result in driving the first byte in the FIFO on to the GPIF data bus and then you may do a Next FIFO Data on the subsequent interval. Doing an Activate Data and a Next FIFO Data on the same interval will result in incrementing the FIFO pointer and driving the new data (pointed to by the incremented pointer) and should be done in subsequent intervals. Therefore a Next FIFO Data is required in case of GPIF Write I activated data first in one interval(Same Data),and Next FIFO Data on the subsequent interval. I writed 256 bytes “0x00, 0x01,…, 0xFF”,but read data is 258 bytes “0x00, 0x01,…, 0xFF,0xFE, 0xFF”. So , last 2 byte in the FIFO,” 0xFE ,0xFF” repeated. What is the reason? The source code is as following. // we are just using the default values, yes this is not necessary... TD_INIT() { EP2CFG = 0xA2; // double buffer,bulk SYNCDELAY; … EP2FIFOCFG = 0x15; //00010101 : AUTOOUT=1, ZEROLEN=1, WORDWIDE=1 EP2AUTOINLENH = 0x02; // When AUTOOUT=1, core commits IN data SYNCDELAY; EP2AUTOINLENL = 0x00; // ...when EPxAUTOINLEN value is met SYNCDELAY; EP2GPIFFLGSEL = 0x01; // FiFo empty Flag … } void TD_Poll(void) // Called repeatedly while the device is idle { if( GPIFTRIG & 0x80 ) // GPIF is Idle { if(!(EP2468STAT & bmEP2EMPTY)) { GPIFTRIG = GPIFTRIGWR | GPIF_EP2; } … } } In Waveform, I repeated “Next FIFO Data on the subsequent interval” until EP2GPIFFLG empty.
|
|
相关推荐
1个回答
|
|
你好,
请遵循HTTP://www. CyPress?APP =论坛和ID ID=167和;RID=61723 当做, 加亚特里 以上来自于百度翻译 以下为原文 Hi, Please follow http://www.cypress.com/?app=forum&id=167&rID=61723 Regards, Gayathri |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2106 浏览 1 评论
1853 浏览 1 评论
3671 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
571浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
424浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
438浏览 2评论
385浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
916浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 14:43 , Processed in 1.007671 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号