打印
[开发工具]

菜鸟求帮;IAR的软件仿真不能开启定时器吗?

[复制链接]
3846|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shiqianwei|  楼主 | 2009-2-11 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   这是一个STM32的定时器/计数器的简单应用例子,其功能是用定时/计数器2控制与PC10,PC11引脚连接的两个发光二极管交替发光。通过设置时钟分频和ARR寄存器使定时时间约为0.2秒钟,在中断服务程序中对LED连接的引脚进行操作。
   使用的软件是IAR5.2,调试下载用H-JTAG V8.1和Wiggler。程序在下载到板上硬件仿真和运行都没有问题,而在软件仿真时寄存器窗口却没有显示TIM2_CNT寄存器变化,一直为0x0000,无论全速运行多久都没有变化,从i的数值可以看到运行多久就都是这样,把TIM2_PSC寄存器改成1也一样,也不会进入中断,就好像定时器2根本就没有开启,不知道这是为什么???!!!  难道说IAR的软件仿真功能不行??

    下面是程序的主要部分
---------------------------------------------------------------------
  u16 ReadData =555;
  u32 i =0;

int main()
{
  RCC_Configuration( );
  GPIO_Configuration( );
  NVIC_Configuration( );
  TIM2_Configuration( );
  while(1)
  {
    ReadData = TIM_GetCounter(TIM2);
    i++;            /* 记录循环的次数 */
  }
  
}


/*************************************************************/
void RCC_Configuration(void)
{
  ErrorStatus HSEStartUpStatus;
  /* RCC system reset(for debug purpose) */
  RCC_DeInit();
  /* Enable HSE */
  RCC_HSEConfig(RCC_HSE_ON);
  /* Wait till HSE is ready */
  HSEStartUpStatus = RCC_WaitForHSEStartUp();
  if (HSEStartUpStatus == SUCCESS)
  {
    此处省略....
   }
  /*  GPIOC   clock enable */
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC , ENABLE);
  /*  TIM2 时钟使能 */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE );
}


/*****************************************************************/
void TIM2_Configuration( void){
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure ;
  
  TIM_DeInit(TIM2);
  /* TIM2时基设置 */
  TIM_TimeBaseStructure.TIM_Period = 0x4fff;
  TIM_TimeBaseStructure.TIM_Prescaler =0x6e;
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  /*TIM_TimeBaseStructure.TIM_RepetitionConuter = ; 这个设置仅用于TIM1和TIM8。*/
  TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);
  
  /* Enables the TIM1 Preload on ARR Register */
  //TIM_ARRPreloadConfig(TIM2, ENABLE);  这句有用没有用呢???
  
  /* 清除中断标志位 */
  TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
  /* 使能定时/计数器2更新中断 */
  TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
  /* 使能定时/计数器2 */
  TIM_Cmd(TIM2,ENABLE);
}
---------------------------------------------------------------------

相关链接:https://bbs.21ic.com/upfiles/img/20092/2009211102050522.rar
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

401

帖子

0

粉丝