首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]TIM的自由计数器的溢出中断

试试中断号17?

另外,你也可以在S19文件中看看其中断矢量中的地址是否是你定义的函数地址。
海纳百川  有容乃大
我看到了你发过来的程序和截图。因为我手头没有S12C32的板子,所以无法进行硬件调试。但是我编译了一下你的程序,觉得你可以这样试一下:

1. 在CodeWarrior的编译界面中,进入“Link Order”页,将“function.c”文件选上(后面加上一小黑点即可);

2. 在中断程序中无需关中断和开中断。进入中断服务程序时MCU会自动关中断,退出时会自动开中断;

3. 这样改后再编译,应该没有警告信息出现了。我现在编译时没有看到任何警告信息。但我也不能确定这样是否就能进TM中断了。我检查过矢量地址的对应是正确的。如果不能进中断,只有2个可能,一是某些寄存器的设置不对,二是芯片有问题。所以建议你再仔细检查一下寄存器的设置。如果实在不行,就换一块板子试试。
海纳百川  有容乃大
TSCR2寄存器的TOI位置1了吗?
海纳百川  有容乃大
如果要实现中断嵌套,就要在进入中断服务程序后用软件开中断。

中断嵌套一般是不推荐的,因为它会占用大量资源。
海纳百川  有容乃大
你把整个DP256的project打包发给我吧。
海纳百川  有容乃大
不用着急。我看到你的project,已经找到问题了。

在你的init()函数中,有这些语句:

...
TSCR2_TOI=1; //TCNT溢出中断允许
TSCR1_TFFCA=0; //快速清除中断标志允许
TSCR2=0x07; //11.0592MHz的晶振,大约1.5S可以
...

先执行TSCR2_TOI=1;
再执行TSCR2=0x07;

结果会是怎样???
海纳百川  有容乃大
TOI才是中断允许位!!

我没改什么,只是把TSCR2_TOI=1移到TSCR2=0x07后面去就行了。
海纳百川  有容乃大
返回列表