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

关于103 Tim1捕获的求助

[复制链接]
Edan 提问时间:2013-1-16 22:02 /
各位大侠,

       我在用STM8s103F2时遇到这样的问题。

       TIM1的捕获用不了。同样的程序在105上运行得很好。

       以下是我的程序。请大家给我点建议,

void Tim1CapInit(void)
{
    /*时钟分频*/
    TIM1-&gtSCRH = 0x00;
    TIM1-&gtSCRL = 0x08;

    /*失能捕获1*/
    TIM1->CCER1 &= ~0x01;
       
    /*CH1配置为输入,映射到TI1FP1上*/
    TIM1->CCMR1 = (TIM1->CCMR1& (~(0x03 | 0x0F))) | 0x01;

    /*低电平或者下降沿有效*/
    TIM1->CCER1 |= 0x02;

    /*使能捕获1*/
    TIM1->CCER1 |= 0x1;
   
    /*允许捕获溢出中断*/
    TIM1->IER |= 0x02;
    TIM1->IER |= 0x01;

    /*启动定定时器1*/
    TurnOnT1();
   
    /*启用定时器*/
    enableInterrupts();
    //TIM1->CR1 |= 0x01;
}

/*定时器1捕获中断处理*/
@far @interrupt void T1_Capture(void )
{
    if(0x02 == (TIM1->SR1 & 0x02))
    {
        TIM1->SR1 &=  ~0xFF;
    }
}

/*定时器1溢出中断处理*/
@far @interrupt void T1_OverFlow(void)
{
    if(0x01 == (TIM1->SR1 & 0x01))
    {
        TIM1->SR1 &=  ~0x01;
    }
}

void main(void)
{
    #ifdef STM8S105   /*105的通道1在C1*/
    GPIO_Init(GPIOC,GPIO_PIN_1,GPIO_MODE_IN_FL_NO_IT);
    #endif

    #if STM8S103      /*103的通道1在C6*/
    GPIO_Init(GPIOC,GPIO_PIN_6,GPIO_MODE_IN_FL_NO_IT);
    #endif
   
    Tim1CapInit();
    while (1);
}
收藏 评论3 发布时间:2013-1-16 22:02

举报

3个回答
xieyuanfu 回答时间:2013-1-17 09:26:12

RE:关于103 Tim1捕获的求助

怎么 STM8S 跟32 不一样的啥 你要仔细看看啥
Edan 回答时间:2013-1-17 09:36:03

RE:关于103 Tim1捕获的求助

32的没有搞过,呵,所以不清楚的,
Edan 回答时间:2013-1-17 11:44:32

RE:关于103 Tim1捕获的求助

终得结果,
原因是我的Option byte没有配置,

所属标签

相似问题

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