你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

利用STM8L051捕获pwm,无法进入中断

[复制链接]
anson_an0 提问时间:2017-5-5 19:29 /
代码如下:
void Clk_Config(void)
{
  CLK_DeInit();                         //时钟初始化
  CLK_HSICmd(ENABLE);                   //启动内部时钟16M
//  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
  GPIO_Init(GPIOC,GPIO_Pin_4,GPIO_Mode_Out_PP_High_Fast);//初始化端口
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);        //配置TIM2时钟

  CLK->CCOR = 0xe2;     //CCO输出
}

void GPIO_Config(void)
{
  GPIO_Init(LED_PORT,LED_PINS,GPIO_Mode_Out_PP_Low_Slow);//初始化LED端口
  GPIO_Init(GPIOC,GPIO_Pin_5,GPIO_Mode_In_FL_No_IT);//初始化输入端口
//  GPIO_Init(GPIOC,GPIO_Pin_4,GPIO_Mode_Out_PP_High_Fast);//初始化端口
}


void TIM2_Config(void)
{
  TIM2_DeInit();        //初始化TIM2
//  TIM2->CR1 = 0x06;
  TIM2->CCER1 &= 0xee;  //禁止输入捕获
  TIM2->CCMR1 |= 0x01;  //IC1通道被配置为输入,选择TI1FP1通道,8分频
  TIM2->CCER1 &= 0xec;  //CH1上升沿触发IC1
  TIM2->CCMR2 |= 0x02;  //IC1通道被配置为输入,选择TI1FP2通道,8分频
  TIM2->CCER1 |= 0x20;  //CH1下降沿触发IC2
//  TIM2->CCER1 = 0x31; //TI1FP1为上升沿有效,TI1FP2为下降沿有效,
  TIM2->SMCR |= 0x54;    //TI1FP1触发复位
  TIM2->IER |= 0x06;     //允许捕获比较1/2中断
  TIM2->CCER1 |= 0x11;  //是能输入捕获
  TIM2_Cmd(ENABLE);

}


__interrupt void IRQHandler()
{
  u8 i=0;
  if(TIM2_GetITStatus(TIM2_IT_CC1))
//  if(TIM2->SR1&TIM2_IT_CC1)
  {
    TIM2_ClearITPendingBit(TIM2_IT_CC1);
    ret1 = TIM2_GetCapture1();  //周期
    ok = 1;
    i++;
    if(i == 0xff)
      i = 0;
  }
  else if(TIM2_GetITStatus(TIM2_IT_CC2))
  {
    TIM2_ClearITPendingBit(TIM2_IT_CC2);
    ret2 = TIM2_GetCapture2();  //高电平
    i++;
    if(i == 0xff)
      i = 0;
  }
  return;
}



void main(void)
{

  GPIO_Config();
  Clk_Config();
  TIM2_Config();
  enableInterrupts();   //打开总中断
//  IRQHandler();
  while(1){
    Display();
  }
}



求大神指点下,谢谢
收藏 1 评论1 发布时间:2017-5-5 19:29

举报

1个回答
蔡老四 回答时间:2017-5-6 23:25:53
你试试CCMR先修改,再修改CCER.我记得CCMR要先关闭CCER里面的那一位才能写入.具体忘记了.你试试
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版