完善资料让更多小伙伴认识你,还能领取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 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1898 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3648 浏览 4 评论
5032 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1736 浏览 1 评论
9382 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
669浏览 2评论
714浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
676浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1198浏览 1评论
1774浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-25 19:39 , Processed in 0.638869 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号