TI中文支持网
TI专业的中文技术问题搜集分享网站

这个程序里面,我有几个不解: 第一,在进入中断之前,为什么没有这条代码:PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; 因为dsp复位之后ACK寄存器是1,必须写1清零,才能相应P定时器中断; 第二,在进入中断之后,为什么没有清除标志位的代码:CpuTimer0Regs.TCR.bit.TIF = 1; // 写1清0 第三,我还想扩展问一下,看门狗定时器有标志位吗?

在TMS320f2808的定时器这个程序里面,我有几个不解:
第一,在进入中断之前,为什么没有这条代码:PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; 因为dsp复位之后ACK寄存器是1,必须写1清零,才能相应P定时器中断;
第二,在进入中断之后,为什么没有清除标志位的代码:CpuTimer0Regs.TCR.bit.TIF = 1; // 写1清0

第三,我还想扩展问一下,看门狗定时器有标志位吗?

shasha su:1、进入之前要是有这行代码,等于把事件清除了,以后就进入不了中断了。2、PIE中断和定时中断是不一样的。3、多读手册,你就是高手。

在TMS320f2808的定时器这个程序里面,我有几个不解:
第一,在进入中断之前,为什么没有这条代码:PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; 因为dsp复位之后ACK寄存器是1,必须写1清零,才能相应P定时器中断;
第二,在进入中断之后,为什么没有清除标志位的代码:CpuTimer0Regs.TCR.bit.TIF = 1; // 写1清0

第三,我还想扩展问一下,看门狗定时器有标志位吗?

Harry xie1:

回复 Eric Ma:

非常感谢老师您的回答。再请问3个问题:

1.中断标志位(包括PIE级和CPU级的)不影响“中断是否能够进入中断”,故不需清零,标志位的作用只是判断是否进入中断的作用,只是有些是自动和手动清零的;

2.进入CPU timer中断,标志位是自动清零的还是必须手动清零的?

3.看门狗中断标志位是哪一个?它好像和其他中断标志位不一样,我看了它只有一个看门狗中断状态位:WDINTS(是SCSR寄存器的第二位)。

期待中…

在TMS320f2808的定时器这个程序里面,我有几个不解:
第一,在进入中断之前,为什么没有这条代码:PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; 因为dsp复位之后ACK寄存器是1,必须写1清零,才能相应P定时器中断;
第二,在进入中断之后,为什么没有清除标志位的代码:CpuTimer0Regs.TCR.bit.TIF = 1; // 写1清0

第三,我还想扩展问一下,看门狗定时器有标志位吗?

xiaonan zhang:

回复 Eric Ma:

正有此疑惑,感谢回答

在TMS320f2808的定时器这个程序里面,我有几个不解:
第一,在进入中断之前,为什么没有这条代码:PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; 因为dsp复位之后ACK寄存器是1,必须写1清零,才能相应P定时器中断;
第二,在进入中断之后,为什么没有清除标志位的代码:CpuTimer0Regs.TCR.bit.TIF = 1; // 写1清0

第三,我还想扩展问一下,看门狗定时器有标志位吗?

Jianqun Xie:

回复 Eric Ma:

Eric Ma

           第一:手册中的复位后状态为1的说法有误,应该为0,所以不需要清零。你自己用2808测试一下就知道了。

我这段时间使用2812也一直在困惑这个,幸好被您提醒了!自己观察了一下Memory窗口发现真的reset后是全0。看来连官方Reference也不能一味相信了,好惆怅

赞(0)
未经允许不得转载:TI中文支持网 » 这个程序里面,我有几个不解: 第一,在进入中断之前,为什么没有这条代码:PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; 因为dsp复位之后ACK寄存器是1,必须写1清零,才能相应P定时器中断; 第二,在进入中断之后,为什么没有清除标志位的代码:CpuTimer0Regs.TCR.bit.TIF = 1; // 写1清0 第三,我还想扩展问一下,看门狗定时器有标志位吗?
分享到: 更多 (0)