打印
[STM32F4]

IAR软仿的时候无法进入SysTick中断

[复制链接]
2868|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wang12zhe|  楼主 | 2014-7-15 10:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用IAR软仿的时候无法进入SysTick中断,很郁闷,
代码如下


void TaskBaseTime(void)
{
    /* Setup SysTick Timer for 0.2 msec interrupts  */
   //SysTick .时钟 96MHZ ,1/96MHZ*SystemCoreClock / 1000 =0.2ms
   SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); //SysTick时钟源
//  SysTick_Config的参数就是重装载值
   if (SysTick_Config(SystemCoreClock / 1000))
   {
     /* Capture error */
     while (1);
   }
   /*
  NVIC_SetPriority(SysTick_IRQn, n);
  n=0x00~0x03  设置Systick为抢占优先级0
  n=0x04~0x07  设置Systick为抢占优先级1
  n=0x08~0x0B  设置Systick为抢占优先级2
  n=0x0C~0x0F  设置Systick为抢占优先级3
  */
   /* Configure the SysTick handler priority */
   NVIC_SetPriority(SysTick_IRQn, 0x0);
   
}



void SysTick_Handler(void)
{
static u8 uTimeMs=0;
if(uTimeMs<5)    //0.2MS执行一次
        {
    uTimeMs++;
        }
else  //1MS执行一次
        {
   uTimeMs=0;
  if(g_BeepOnTime!=0) g_BeepOnTime--;
   
  if(IOFir_stru.ScanTime!=0) IOFir_stru.ScanTime--;
        }
}


在中断你设置断点,发现无法进入中断,
我使用的是IAR6.7,芯片是STM32F407的,在IAR里进行软仿。

此外仿真是查看寄存器也没有找到关于SysTick的寄存器,

网上有的说关于在RAM启动和在FLASH启动的方式不同,可能导致不能进入中断,请高人指点
沙发
mmuuss586| | 2014-7-15 12:51 | 只看该作者
你重FLASH启动的吧???
IAR我不熟,MDK的话,你可以把程序发上来;

参考官方程序,再改下吧;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

205

帖子

1

粉丝