完善资料让更多小伙伴认识你,还能领取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中添加了错误处理逻辑,以便重置操作状态并重新开始后续操作。需要注意的是,具体的错误处理操作取决于具体的应用场景和错误类型。您可以根据自己的需要进行相应的修改。 |
|
|
|
只有小组成员才能发言,加入小组>>
3314 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9059 浏览 16 评论
4088 浏览 18 评论
1178浏览 3评论
605浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
599浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 05:04 , Processed in 1.269082 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号