硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7438|回复: 1
收起左侧

stm8l 外部脉冲计数始终为零。。。求助

[复制链接]

7

主题

29

回帖

7

积分

新手上路

积分
7
发表于 2015-7-10 15:42:41 | 显示全部楼层 |阅读模式
RT:我想用stm8L的 外部时钟源模式2 进行计频,我调用了tim2的库函数,TIM2_CH1通道(PB0)计数,结果一直为零。
程序:

void TIM2_CH1_ETR_Init(void)
{
        TIM2_DeInit();    //复位TIME2
        CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE); //开启TIME2的时钟中断
        FLASH_Unlock(FLASH_MemType_Data);
        FLASH_ProgramOptionByte(0x5253,0x20);
        FLASH_Lock(FLASH_MemType_Data);
        GPIO_Init(GPIOB,GPIO_Pin_0,GPIO_Mode_In_PU_No_IT);
        
        TIM2_TimeBaseInit(TIM2_Prescaler_1,TIM2_CounterMode_Up,65535);//不分频 ,计数 65535
        
        TIM2_ETRClockMode2Config(TIM2_ExtTRGPSC_OFF,TIM2_ExtTRGPolarity_NonInverted,0);//没有外部触发预分频器,高电平或上升沿有效,使能外部时钟模式2
        
        TIM2_SelectInputTrigger(TIM2_TRGSelection_ETRF); //选择外部触发
        TIM2_ARRPreloadConfig(ENABLE);
        
        TIM2_ClearFlag(TIM2_FLAG_Update);
        TIM2_ITConfig(TIM2_IT_Update,ENABLE);   //打开中断
        
        TIM2_SetCounter(0);
        TIM2_Cmd(ENABLE);
}



@far @interrupt void TIM2_IRQHandler(void){
        if (TIM2_GetITStatus(TIM2_IT_Update) != RESET)             {
                TIM2_ClearITPendingBit(TIM2_IT_Update);                Cnt_a++;
            }}
然后在定时器1里面计算:

@far @interrupt void TIMER1_IRQHandler(void){
        if(TIM1_GetITStatus(TIM1_IT_Update)== SET) //溢出中断        {
                TIM1_ClearITPendingBit(TIM1_IT_Update);                TIM1_Cmd(DISABLE);
                TIM2_Cmd(DISABLE);                Frequency=Cnt_a*65535 + TIM2_GetCounter();
                TIM2_SetCounter(0);                Cnt_a = 0;
                TIM1_Cmd(ENABLE);                TIM2_Cmd(ENABLE);
              printf("the period is : %d\n",Frequency);        }
    }
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115717
QQ
发表于 2015-7-10 16:42:56 | 显示全部楼层
一直没有用STM8,帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-13 19:23 , Processed in 0.214650 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表