完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我正在使用 CYUSB3KIT。
我有一个应用程序需要全双工 SPI 通信,并且 DMA 应该配置为自动。 因此,我在 DMA 回调中包含了一个 CyU3PSpiSetBlockXfer() 调用来触发读取和写入。 为了测试目的,MOSI 和 MISO 连接在一起,这样我就能够写入和读取相同的数据。 我还将发送 1024 字节的常量值块。 DMA 传输已设置为无限。 问题在于从第二次传输开始字节就开始被丢弃。 正如您在图片中看到的,第一次传输是正确的(1024 字节 0xAA);但是,第二次传输丢失了 3 个字节,这 3 个字节是由第三次传输的数据填充的。 我的直觉是 DMA 传输和 SPI 触发的时间不正确,但我似乎无法做到正确。 DMA 通道创建如下: dmaCfg .大小= 1024 ; dmaCfg .计数= 1 ; dmaCfg.prodSckId = CY_FX_EP_PRODUCER_SOCKET ; dmaCfg.consSckId = CY_U3P_LPP_SOCKET_SPI_CONS ; dmaCfg.dmaMode = CY_U3P_DMA_MODE_BYTE ; dmaCfg .通知= CY_U3P_DMA_CB_PROD_EVENT ; dmaCfg.cb =测试传输输出; dmaCfg.prodHeader = 0 ; dmaCfg.prodFooter = 0 ; dmaCfg.consHeader = 0 ; dmaCfg.prodAvailCount = 0 ; apiRetStatus = CyU3PDmaChannelCreate ( & glChHandleBulkOut , CY_U3P_DMA_TYPE_AUTO_SIGNAL, & dmaCfg ); 如果( apiRetStatus != CY_U3P_SUCCESS) { CyU3PDebugPrint ( 4 , "CyU3PDmaChannelCreate 失败,错误代码 = %d n " , apiRetStatus ); CyFxAppErrorHandler ( apiRetStatus ); } /* 在 U 端口的两个插座之间创建 DMA 自动通道。 * DMA 大小根据 USB 速度设置。 */ dmaCfg .大小= 1024 ; dmaCfg .计数= 1 ; dmaCfg.prodSckId = CY_U3P_LPP_SOCKET_SPI_PROD ; dmaCfg . consSckId = CY_FX_EP_CONSUMER_SOCKET ; dmaCfg.dmaMode = CY_U3P_DMA_MODE_BYTE ; dmaCfg .通知= 0 ; dmaCfg.cb =空; dmaCfg.prodHeader = 0 ; dmaCfg.prodFooter = 0 ; dmaCfg.consHeader = 0 ; dmaCfg.prodAvailCount = 0 ; apiRetStatus = CyU3PDmaChannelCreate ( & glChHandleBulkIn , CY_U3P_DMA_TYPE_AUTO_SIGNAL, & dmaCfg ); 如果( apiRetStatus != CY_U3P_SUCCESS) { CyU3PDebugPrint ( 4 , "CyU3PDmaChannelCreate 失败,错误代码 = %d n " , apiRetStatus ); CyFxAppErrorHandler ( apiRetStatus ); } 回调定义如下: void testTransmitOut (CyU3PDmaChannel *句柄, CyU3PDmaCbType_t类型, CyU3PDmaCBInput_t *输入) { CyU3PReturnStatus_t apiRetStatus = CY_U3P_SUCCESS; 如果(类型== CY_U3P_DMA_CB_PROD_EVENT) { apiRetStatus = CyU3PSpiSetBlockXfer (输入->缓冲区_p .大小,输入->缓冲区_p .大小); } } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2370 浏览 0 评论
1426 浏览 0 评论
1877 浏览 0 评论
CYUSB3014烧录失败Cypress Benicia USB Boot Device
7870 浏览 1 评论
11295 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 21:29 , Processed in 0.365573 second(s), Total 39, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2070