采用F28377S芯片,调用INT1.1和INT1.7两个中断,如果两个都打开,却只能响应INT1.7,即TIMER0,只有关闭了INT1.7,才能响应INT1.1,即ADCA1,为什么呢?有谁碰到个这种情况吗?请指点一下。
Linda:
您好!
请问关于中断初始化的相关配置代码可否发一下帮您看看.
采用F28377S芯片,调用INT1.1和INT1.7两个中断,如果两个都打开,却只能响应INT1.7,即TIMER0,只有关闭了INT1.7,才能响应INT1.1,即ADCA1,为什么呢?有谁碰到个这种情况吗?请指点一下。
lili ye:
回复 Linda:
关于中断向量表调用的controlSUITE内部给的 InitPieVectTable()函数,没有做改变,
关于ADCA1中断定义为
EALLOW; PieVectTable.ADCA1_INT = &adca1_isr; EDIS; IER |= M_INT1; PieCtrlRegs.PIEIER1.bit.INTx1 = 1;
定时器及其中断定义为
EALLOW; PieVectTable.TIMER0_INT = &cpu_timer0_isr; EDIS; InitCpuTimers(); ConfigCpuTimer(&CpuTimer0, 5, 100); StartCpuTimer0(); PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
程序中关于中断初始化代码如下:
DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable();
EINT;
ERTM;
采用F28377S芯片,调用INT1.1和INT1.7两个中断,如果两个都打开,却只能响应INT1.7,即TIMER0,只有关闭了INT1.7,才能响应INT1.1,即ADCA1,为什么呢?有谁碰到个这种情况吗?请指点一下。
lili ye:
回复 lili ye:
ADCA1 触发源是EPWM1 SOC触发
采用F28377S芯片,调用INT1.1和INT1.7两个中断,如果两个都打开,却只能响应INT1.7,即TIMER0,只有关闭了INT1.7,才能响应INT1.1,即ADCA1,为什么呢?有谁碰到个这种情况吗?请指点一下。
lili ye:
回复 lili ye:
通过测试发现,是定时器定义的太快了,将其速度降下来,两个中断就都能使能了。
现在的问题是在DAC中,寄存器DACCTL->SYNCSEL 选择是PWMSYNC1,而ADC中断源触发选择的是ePWM1 的SOC,这两个会不会冲突,或者相互抢占资源
采用F28377S芯片,调用INT1.1和INT1.7两个中断,如果两个都打开,却只能响应INT1.7,即TIMER0,只有关闭了INT1.7,才能响应INT1.1,即ADCA1,为什么呢?有谁碰到个这种情况吗?请指点一下。
lili ye:
回复 lili ye:
DAC相关寄存器DACCTL->SYNCSEL=PWMSYNC1 ADC的中断触发源为ePWM1的SOC,这两者会不会冲突
TI中文支持网



