打印

STM32比较输出

[复制链接]
3198|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
phctgu|  楼主 | 2011-5-30 17:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32, TI, ni, vi, ic
本帖最后由 phctgu 于 2011-5-30 17:54 编辑

最近再做一个案子,需要把STM8上的代码移植到STM32,但是发现STM32比较输出进不了中断,是哪里出错了呢?
APB1是8M CLK
------------------------
void sys_Occ3Init(void)
{
      RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

      NVIC_InitTypeDef NVIC_InitStructure;
      NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQChannel;
      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;   
      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
      NVIC_Init(&NVIC_InitStructure);

      TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_Inactive;                               TIM_OCInitStructure.TIM_Pulse = 100;   //翻转周期
      TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//TIM输出比较极性低
      TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
      TIM_OCInit(TIM3, &TIM_OCInitStructure);
      TIM_PrescalerConfig(TIM3,15,0x01);

      TIM_Cmd(TIM3, ENABLE);
      TIM_ITConfig(TIM3, TIM_IT_CC3 , ENABLE);

}



****中断函数****
void TIM3_IRQHandler(void)
{
  if (TIM_GetITStatus(TIM3, TIM_IT_CC3) != RESET)
  {
    TIM_ClearITPendingBit(TIM3, TIM_IT_CC3 );
    GPIO_Display( ); // 这里做一些IO口的处理
  }
沙发
sjnh| | 2011-5-31 06:41 | 只看该作者
不知道你用的那个版本的库,总之没发现初始化比较输出3的初始化,例如
/* PWM1 Mode configuration: Channel4 */
  TIM_OCInitStructure.TIM_Pulse = PWM_START;
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
  TIM_OC4Init(TIM3, &TIM_OCInitStructure);
  TIM_OC4PreloadConfig(TIM3, TIM_OCPreload_Enable);

使用特权

评论回复
板凳
phctgu|  楼主 | 2011-5-31 10:24 | 只看该作者
问题解决

使用特权

评论回复
地板
zt_123321| | 2013-4-2 08:17 | 只看该作者

使用特权

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

本版积分规则

19

主题

68

帖子

1

粉丝