[DSP编程] CPUtimer0中断应用之十分不解,求开导

[复制链接]
4392|13
 楼主| yicy123 发表于 2013-7-19 16:11 | 显示全部楼层 |阅读模式
理论上来说,timer0中断,定时器减到0会产生一个中断标志TIF,然后系统响应,关键是这个TIF手册上说不能自动清零,需要写1清零,但在TI的历程上没有看见清零的步骤哦,为什么,不清零一直是1不就一直响应定时器中断了么,可实际上不清零程序执行的也很对,为什么,十分不解?
 楼主| yicy123 发表于 2013-7-19 17:01 | 显示全部楼层
没有人用过CPUtimer0做定时中断么?
lenningwong 发表于 2013-7-20 10:50 | 显示全部楼层
你得先说明你用的是哪个例程,中断标记都是要清的。
不过具体问题具体分析,如果照你所说,中断程序不清零,只说明首次用了之后再定时执行中断程序,十分耗费系统资源,而且影响其他程序正常运行。你说的这种情况应该主程序没有别的程序要执行,通篇的例程只是中断程序。
waitmoney 发表于 2013-7-20 11:18 | 显示全部楼层
TI的例程上没有看见清零的步骤? 清零就是读取某个寄存器他能自动清零或者某个位写0或1
zhangmangui 发表于 2013-7-20 19:13 | 显示全部楼层
不清零的话  应该是响应一次再也不响应timer0的中断了  不是一直响应
zhangmangui 发表于 2013-7-20 19:14 | 显示全部楼层
TIF = 1相当于就清了
 楼主| yicy123 发表于 2013-7-24 10:10 | 显示全部楼层
zhangmangui 发表于 2013-7-20 19:14
TIF = 1相当于就清了

关键是没有TIF=1这句话啊,而且我的程序用的也是这个中断,没有写清零过程,执行的也好好的,也能按照时间进中断,我观测那个中断标志位一直为1,从没被清零过,所以万分不解
zhangmangui 发表于 2013-7-24 10:15 | 显示全部楼层
yicy123 发表于 2013-7-24 10:10
关键是没有TIF=1这句话啊,而且我的程序用的也是这个中断,没有写清零过程,执行的也好好的,也能按照时 ...

确实不解   在研究一下
 楼主| yicy123 发表于 2013-7-26 11:40 | 显示全部楼层
zhangmangui 发表于 2013-7-24 10:15
确实不解   在研究一下

帮主,研究完没?
zhangmangui 发表于 2013-7-26 12:10 | 显示全部楼层
yicy123 发表于 2013-7-26 11:40
帮主,研究完没?

呵呵  工作忙  最近也没涉及DSP   其实意思是让你再研究一下  误会啦
 楼主| yicy123 发表于 2013-7-26 15:52 | 显示全部楼层
zhangmangui 发表于 2013-7-26 12:10
呵呵  工作忙  最近也没涉及DSP   其实意思是让你再研究一下  误会啦

好吧:loveliness:
charrijon 发表于 2013-7-27 10:10 | 显示全部楼层
本帖最后由 charrijon 于 2013-7-27 10:11 编辑

CCS编译器会自动帮你清0的,你去看它汇编就能看到整个过程了。就跟你用X86一样,也都是编译器帮你做了这些工作。
墨尔本的眼泪 发表于 2015-1-12 11:36 | 显示全部楼层
此处cpu定时器中断依据的是cpu中断标志寄存器IFR内的标志位,而不是定时器的中断标志位,而IFR会被自动清零,而且IFR根据定时器的设置周期性置1,不受定时器的中断标志位的影响。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部