EWSTM8 2.20升级到3.10后时钟不正常

原来使用EWSTM8运行正常的工程,使用的是V1.6.1的STD库。做了一块新板子,把整个工程移植到EWSTM8 3.10,发现LSE不能运行,为了测试,写了以下测试代码,使用 HSI作为通用定时器2的时钟,代码见下。


/*******************************************************************************
* @brief        Initialize Rcc
* @param        None
* @retval       None
*******************************************************************************/
void Init_Rcc(void)
{
    /* Select HSI as system clock source */
    CLK_SYSCLKSourceSwitchCmd(ENABLE);
    CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
    /* 不分频,系统时钟为16MHz HSI */
    CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);

    while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI)
    {}
}

 

/******************************************************************************
name:             Tim2_Init
introduce:        sysTick
description:      使用系统时钟
parameter:        none
return:           none
******************************************************************************/
void Init_TIM2(void)
{
    TIM2_DeInit();
    CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);         //将主时钟信号送给定时器2(L系列单片机必需)
    //TIM2_TimeBaseInit(TIM2_Prescaler_64, TIM2_CounterMode_Up, 250);
    TIM2_TimeBaseInit(TIM2_Prescaler_1, TIM2_CounterMode_Up, 100);
    TIM2_SetCounter(50);
    TIM2_ARRPreloadConfig(ENABLE);
    TIM2_ITConfig(TIM2_IT_Update, ENABLE);
    TIM2_Cmd(ENABLE);
}

 

int main(void)
{

    Init_Rcc();
    Init_TIM2();
    while(1);

}

 

代码初始化正常,但是定时器就是不工作,怀疑代码有误。打开TIMER2的寄存器对照,初始化都正常,但就是COUNT不自增,定时器不启动。把工程下到之前的板子,也不行。考虑到工程是从2.20升级而来,我直接新建了工程,使用上面的测试代码,也不行。原因还不知。因为我用3.10也成功开发过项目,而且库也是同一版本。

最后先换回EWSTM8 2.20版本,定时器可以正常工作。此处先记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值