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

STM8S pwm输入捕获 进入不了中断 贴代码

[复制链接]
勇Z的心 提问时间:2014-4-18 11:48 /
void GPIO_Init(void)

 PC_DDR |=0x80;
  PC_CR1 |=0x80;/*OUTPUT*/
  PC_CR2 &=0x7f;/*PC7*/
 
 PC_DDR &=0xbf;
  PC_CR1 &=0xbf;/*Input*/
  PC_CR2 &=0xbf;/*PC6*/
 
 PC_DDR|=0x20;
  PC_CR1|=0x20;/*OUTPUT*/
  PC_CR2&=0xdf;/*pc5*/
}
 

void TIM2_Init(void)
{
   TIM2_IER =0x00;
   TIM2_EGR=0x01;
 
    TIM2_PSCR = 0X04;  /*Configure TIM2 prescaler=1MHZ */
  
    TIM2_ARRH  =1000/256;            
    TIM2_ARRL  =1000%256;/*1ms*/
   
    TIM2_IER |=0X01;
  TIM2_CR1|=0X81;//ENABLE TIM1   
}

void TIM1_CatchInit(void)

   TIM1_IER =0x00;
   TIM1_EGR=0x01;
 
  
 //  TIM1_SR1_CC1IF &=0xf9;
// TIM1_SR1_CC2IF =0x00; 
  
  TIM1_CCER1&=0xee;//DISABLED TIM1 
   TIM1_CCMR1|=0x01;
   TIM1_CCER1&=0xec;
   TIM1_CCMR2|=0x02;
 //TIM1_CCMR2&=0xfe;
   TIM1_CCER1|=0x20;
   TIM1_SMCR |=0x54;
 
  TIM1_PSCRH = 0x00;
   TIM1_PSCRL = 0x0F;  /*Configure TIM1 prescaler=1MHZ */
     
   TIM1_IER |=0X06;
 
  TIM1_CCER1|=0x11;//ENABLED TIM1  catch
 
  TIM1_CR1|=0X81;//ENABLE TIM1CNT
//   TIM1_CCER1_CC1E=0X01;
//   TIM1_CCER1_CC2E=0X01;/*ENABLED  INPUT  INTERRUPT*/
 //  TIM1_CR1|=0X81;//ENABLE TIM1
}
 
@far @interrupt void TIM1_Compare(void)
{
  if((TIM1_SR1&0x02)==0x02)
 {
  TIM1_SR1&=0xfd;
  PWM_FLAG++;
 }
  if((TIM1_SR1&0x04)==0x04)
 {
  TIM1_SR1&=0xfb;
  PWM_FLAG++;
 }
}
 
 
问题是我用TIM2定时器控制PC5高低电位模拟PWM信号,然后输入到PC6通道,PC6也就是TIM1_CH1通道吧   应该能进入捕获中断    查了好久找不到原因  我参考的帖子http://www.doc88.com/p-8179991153683.html写的  
收藏 1 评论2 发布时间:2014-4-18 11:48

举报

2个回答
勇Z的心 回答时间:2014-4-18 11:55:09

回复:STM8S pwm输入捕获 进入不了中断 贴代码

没人看呀!.....
wkuang 回答时间:2014-4-22 23:36:00

RE:STM8S pwm输入捕获 进入不了中断 贴代码

1)确认下你的PC5输出正常不??有没有pwm波形;
这个是前提
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版