完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在看C6748的EDMA3,在看例程时有一个问题比较疑惑,请各位帮忙解答下。例程里面有一个回调函数,这个函数是做什么用的,怎么触发它,自己使用时是不是一定要用这个回调函数,如果不写这个函数有什么影响?
|
|
相关推荐
2 个讨论
|
|
// 回调函数
void (*cb_Fxn[EDMA3_NUM_TCC])(unsigned int tcc, unsigned int status, void *appData); /****************************************************************************/ /* */ /* 回调函数 */ /* */ /****************************************************************************/ void callback(unsigned int tccNum, unsigned int status, void *appData) [ (void)tccNum; (void)appData; if(EDMA3_XFER_COMPLETE == status) [ // 传输成功 irqRaised = 1; ] else if(EDMA3_CC_DMA_EVT_MISS == status) [ // 传输导致 DMA 事件丢失错误 irqRaised = -1; ] else if(EDMA3_CC_QDMA_EVT_MISS == status) [ // 传输导致 QDMA 事件丢失错误 irqRaised = -2; ] irqRaised = 1; ] // 注册回调函数 cb_Fxn[tccNum] = &callback; // 如果没有指定回调函数 就无法清除 IPR 相应位 // 写 ICR 清除 IPR 相应位 EDMA3ClrIntr(SOC_EDMA30CC_0_REGS, indexl); (*cb_Fxn[indexl])(indexl, EDMA3_XFER_COMPLETE, NULL); 上面的就是相关的代码,最后两行是在EDMA传输完成中断服务函数里面的,最后面那一行应该就是调用这个回调函数吧!这里为什么要用回调函数,我直接把相关代码写在后面可不可以,不使用回调函数。 |
|
|
|
|
|
mi382829 发表于 2020-5-22 23:33 这是个软件的问题,自己想想吧。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
586 浏览 1 评论
425 浏览 1 评论
619 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
909 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
709 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
191浏览 29评论
1152浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
323浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
286浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
135浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-2 18:35 , Processed in 0.914896 second(s), Total 44, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号