完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
测试spi采用 scatter 模式 中断中衔尾操作失败,有成功的吗
void PDMA_IRQHandler(void) { /* Check channel transfer done status */ if (PDMA_GET_TD_STS(PDMA) == BIT2) { PDMA->DSCT[2].CTL = PDMA_OP_SCATTER; /* Clear transfer done flag of channel 2 */ PDMA_CLR_TD_FLAG(PDMA, BIT2); } } |
|
相关推荐
1个回答
|
|
|
可能的解决方法是添加错误处理逻辑,例如在中断中添加代码来重置PDMA操作的状态,以便重新开始后续操作。以下是可能的示例代码:
void PDMA_IRQHandler(void){ /* Check channel transfer done status */ if (PDMA_GET_TD_STS(PDMA) == BIT2){ /* Clear transfer done flag of channel 2 */ PDMA_CLR_TD_FLAG(PDMA, BIT2); /* Check if there is an error */ if(PDMA_GET_CH_ERR_STS(PDMA) & BIT2){ /* Handle error */ PDMA->DSCT[2].CTL = PDMA_OP_SCATTER; } else{ /* Continue with next operation */ PDMA->DSCT[2].CTL = PDMA_OP_SCATTER; } } } 该示例代码在PDMA中添加了错误处理逻辑,以便重置操作状态并重新开始后续操作。需要注意的是,具体的错误处理操作取决于具体的应用场景和错误类型。您可以根据自己的需要进行相应的修改。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
1599 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4738 浏览 0 评论
4229 浏览 9 评论
3822 浏览 16 评论
4398 浏览 1 评论
4212浏览 3评论
2381浏览 0评论
3394浏览 0评论
1159浏览 0评论
2844浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:05 , Processed in 0.598115 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1163