Part Number:TMS320F28388D
想用sdfm1采样出结果后触发中断:
初始化处理:
正常配置完SDfm1后,
SdfmRegs.SDDFPRAM1.bit.AE =1;
SdfmRegs.SDFIFOCTL1.bit.DRINTSEL = 0;
打开中断使能:
PieCtrlRegs.PIEIER5.bit.INTX13 = 1;
IER |= MINT5;
EINT;
ERTM;
根据以上配置,仿真的时候看到
SdfmRegs.SDIFLAG.bit.AF1已经是1了,但是还是不能进入中断函数,请问我的配置还有纰漏的,望指教下
Green Deng:
你好,上面的几行代码是你手动输入的还是从CCS上复制粘贴的代码?
,
user4486550:
是我手动输入的,是寄存器名字写漏了1,应该是Sdfm1Regs
,
Green Deng:
写错的地方还挺多的,SDDFPARM1、SDIFLG这两个寄存器也都写错了。
关于中断配置的问题,我会看一下资料后回复你
,
user4486550:
是啊,发帖时太匆忙了点,不好意思啊,那等你回复
,
Green Deng:
你好,可以按照以下说明排查一下:
1)检查是否 DevCfgRegs.SDFMTYPE = 1。如果 SDFMTYPE = 0(或)2(或)(3),那么data ready中断(AFx)将在 PIEIFR5.INTx9 可用。
2) 如果 PIEIFR5.INT13 = 1,则表示 SDFMTYPE 正确配置为 1。
如果 PIEIFR5.INT9 = 1,则意味着 SDFMTYPE 配置为 0(或)2(或)3。
3)检查PIEACK是否清零
可以对照一下下面的 PIE 中断传播路径:
,
user4486550:
感谢你的准确回答,我还有个小问题先咨询一下你,中断SDFM1和SDFM1DR1有什么区别?文档中有提及到这两的区别吗?我设成SDFM1中断就不能正常进入了
,
Green Deng:
这个确实很奇怪,哪里都找不到这个SDFM1DR1说明。目前只知道他们两个在中断向量表中的排序不同