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

STM8S103F3P6捕获中断进不去

[复制链接]
火焰山 提问时间:2015-8-13 09:47 /
以下为测试代码,但是捕获中断进不去,不知道什么原因,求助大神,看看哪里设置有问题
#include <iostm8s103f3.h>
void Timer1Init(void)
{
//     asm("sim");  // 关全局中断
     TIM1_CR1=0x00;    //关闭定时器
     TIM1_IER=0x00;    //关闭中断
     TIM1_PSCRH = 0;
     TIM1_PSCRL = 15;    //(fCK_CNT)等于fCK_PSC/( PSCR[15:0]+1)。
     TIM1_CCER1 = 0x00;        //         
     TIM1_CCMR1 = 0x01;        //配置为输入,IC1映射在TI1FP1上
     TIM1_SR2   = 0X00;    //清中断标志
     TIM1_CCER1 = 0x03;        //cc1配置为输入 低电平或下降沿触发
     TIM1_IER = 0x02;    //允许捕获1中断
     TIM1_CR1 |= 0x01;    //         
//     asm("rim");  // 开全局中断
}

#pragma vector=TIM1_CAPCOM_CC1IF_vector
__interrupt void TIM1_CAP_COM_IRQHandler(void)
{
      TIM1_SR1&=~0x02;//清除中断标志
      PB_ODR^=0x20;
}

void main( void )
{
//    int i,j;
    CLK_CKDIVR&= (unsigned char)(~0x18);/*时钟复位*/
    CLK_CKDIVR|= (unsigned char)0x00;/*设置时钟为内部16M高速时钟*/
    PB_DDR|=0x20;
    PB_CR1|=0x20;
    PB_CR2|=0x00;

    PC_DDR &= ~0x40;   //PC6设置为输入
    PC_CR1 &=  0x40;   //带上拉电阻输入
    PC_CR2 &= ~0x40;   //禁止外部中断         

    Timer1Init();
    asm("rim");//开全局中断
    while(1);
}


收藏 评论2 发布时间:2015-8-13 09:47

举报

2个回答
你好我好大家好! 回答时间:2015-8-13 18:12:57
火焰山 回答时间:2015-8-18 18:13:55
求助大神...
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版