CPUtimer0中断应用之十分不解,求开导
理论上来说,timer0中断,定时器减到0会产生一个中断标志TIF,然后系统响应,关键是这个TIF手册上说不能自动清零,需要写1清零,但在TI的历程上没有看见清零的步骤哦,为什么,不清零一直是1不就一直响应定时器中断了么,可实际上不清零程序执行的也很对,为什么,十分不解? 没有人用过CPUtimer0做定时中断么? 你得先说明你用的是哪个例程,中断标记都是要清的。不过具体问题具体分析,如果照你所说,中断程序不清零,只说明首次用了之后再定时执行中断程序,十分耗费系统资源,而且影响其他程序正常运行。你说的这种情况应该主程序没有别的程序要执行,通篇的例程只是中断程序。 TI的例程上没有看见清零的步骤? 清零就是读取某个寄存器他能自动清零或者某个位写0或1 不清零的话应该是响应一次再也不响应timer0的中断了不是一直响应
TIF = 1相当于就清了 zhangmangui 发表于 2013-7-20 19:14 static/image/common/back.gif
TIF = 1相当于就清了
关键是没有TIF=1这句话啊,而且我的程序用的也是这个中断,没有写清零过程,执行的也好好的,也能按照时间进中断,我观测那个中断标志位一直为1,从没被清零过,所以万分不解 yicy123 发表于 2013-7-24 10:10 static/image/common/back.gif
关键是没有TIF=1这句话啊,而且我的程序用的也是这个中断,没有写清零过程,执行的也好好的,也能按照时 ...
确实不解 在研究一下 zhangmangui 发表于 2013-7-24 10:15 static/image/common/back.gif
确实不解 在研究一下
帮主,研究完没? yicy123 发表于 2013-7-26 11:40 static/image/common/back.gif
帮主,研究完没?
呵呵工作忙最近也没涉及DSP 其实意思是让你再研究一下误会啦 zhangmangui 发表于 2013-7-26 12:10 static/image/common/back.gif
呵呵工作忙最近也没涉及DSP 其实意思是让你再研究一下误会啦
好吧:loveliness: 本帖最后由 charrijon 于 2013-7-27 10:11 编辑
CCS编译器会自动帮你清0的,你去看它汇编就能看到整个过程了。就跟你用X86一样,也都是编译器帮你做了这些工作。 此处cpu定时器中断依据的是cpu中断标志寄存器IFR内的标志位,而不是定时器的中断标志位,而IFR会被自动清零,而且IFR根据定时器的设置周期性置1,不受定时器的中断标志位的影响。
页:
[1]