STR912软件仿真与硬件仿真情况不一样

[复制链接]
3446|3
 楼主| smartsheep 发表于 2007-9-7 23:34 | 显示全部楼层 |阅读模式
在调试RTC的中断时, 软件仿真时经常去不掉RTC的中断标志位,去读那个寄存器了,但没用,导致程序一直进中断, 把该程序烧录到板子上,它居然跑得很正常。

而调试TIM0中断时,软件仿真一切OK, 下载到板子上硬件仿真就不行了,该开的中断使能都已经开了,可是系统就是不进中断,好像就进了一次,再也进不了了, 一直在OS_TaskIdle()任务函数里。

是MDK的问题还是板子的问题,还是真的是程序的问题?  板子可视embest的demo板啊。
STF 发表于 2007-9-10 14:16 | 显示全部楼层

程序给我们看一看

你好,

你有没有办法给我们看一看这个程序(中断初始化的一部分)

Regards,
Stephane Rainsard
 楼主| smartsheep 发表于 2007-9-10 17:18 | 显示全部楼层

TIM0中断已经正常了


  RTC_PeriodicIntConfig(RTC_Per_128Hz);
  /* Enable the RTC interrupt */
  VIC_ITCmd(RTC_ITLine, ENABLE);
  /* Configure the RTC interrupt priority */
  VIC_Config(RTC_ITLine, VIC_IRQ, 0);

然后在第一个任务里开启RTC中断使能
RTC_ITConfig(RTC_IT_Per,ENABLE);

这个设置就是前面说的用MDK软件仿真经常去不掉RTC的中断标志位
在中断服务里是
void RTC_IRQHandler(void)
{
  if(RTC_GetFlagStatus(RTC_FLAG_Per))
    OSTimeTick();
}
照理来说执行if(RTC_GetFlagStatus(RTC_FLAG_Per))后,中断控制器中的RTC相应RawInt标志应该变为0,可这个标志经常不变,RTC的中断标志已经变了。
这个情况可能是MDK的问题。

TIM0中断的问题现在已经正常了,我也不知道怎么变正常的,真是见鬼了。

STR的资料读起来太累了。
yxf781026 发表于 2008-1-14 10:44 | 显示全部楼层

能给我发一个TIM中断的工程吗

能给我发一个有TIM中断的工程吗?,我的程序始终进不了中断。MDK在添加Linense之前是可以进中断的,添加了licnese之后就不可以了。
请发到我的邮箱yingxf@eastcom.com 谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

57

帖子

0

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