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

[复制链接]
3212|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

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