完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
743 单工只接收SPI做从接收AD7768非标准SPI口数据时发现,DMA接收固定长度数据后,并未立即进入DMA传输完成中断,而是在SPI的CS拉高后才进入了DMA传输完成中断。从现象看DMA传输完成中断不是以指定数据传输完成就可以进中断?有好心人可以指路下相关资料么?
|
|
相关推荐
1个回答
|
|
STM32H743的DMA(Direct Memory Access)是一种硬件级别的数据传输技术,它可以在不占用CPU资源的情况下,实现外设与内存之间的数据传输。在您的问题中,DMA接收固定长度数据后并未立即进入DMA传输完成中断,而是在SPI的CS(Chip Select)拉高后才进入DMA传输完成中断。这种情况可能是由以下几个原因导致的:
1. DMA传输完成中断配置问题:请检查您的DMA传输完成中断配置是否正确。在初始化DMA时,需要设置正确的中断优先级和中断服务函数。如果配置不正确,可能会导致DMA传输完成中断无法及时触发。 2. DMA传输触发条件:STM32的DMA传输完成中断通常在传输指定长度的数据后触发。但是,具体的触发条件可能受到其他因素的影响,例如SPI通信协议、硬件连接等。在您的案例中,SPI的CS信号可能对DMA传输完成中断的触发产生了影响。 3. SPI通信协议:SPI通信协议中,CS信号用于选择特定的从设备进行通信。在通信过程中,CS信号的拉高和拉低可能会影响DMA传输完成中断的触发。请检查您的SPI通信协议设置,确保CS信号的正确配置。 4. DMA传输模式:STM32的DMA支持多种传输模式,例如单次传输、循环传输等。请检查您的DMA传输模式设置,确保其符合您的应用需求。 5. 硬件连接问题:硬件连接问题可能会导致DMA传输完成中断无法及时触发。请检查您的硬件连接,确保SPI从设备(AD7768)与STM32H743之间的连接正确无误。 为了解决这个问题,您可以尝试以下步骤: 1. 仔细检查您的DMA传输完成中断配置,确保其正确无误。 2. 检查SPI通信协议设置,确保CS信号的正确配置。 3. 检查DMA传输模式设置,确保其符合您的应用需求。 4. 检查硬件连接,确保SPI从设备与STM32H743之间的连接正确无误。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1535 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1484 浏览 1 评论
905 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
651 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1530 浏览 2 评论
1841浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
590浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
491浏览 3评论
492浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
472浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 01:40 , Processed in 0.606633 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号