打印
[APM32F4]

【APM32F411V Tiny Board测评】-02-定时器测试

[复制链接]
589|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 shenxiaolin 于 2024-5-13 14:01 编辑

定时器主要是用到了他的计数功能,当然还有其他的输入捕获,互补输出等功能我们首先看看定时器的时钟树,可以更加清楚的了解到定时器的脉络

在整个SDK中都是以407为例,但是我们的只有120M左右只有按照120M来做,所以要做适当的修改,我们这里就直接上代码

#include "DRV_TIM.h"

void LED_Init(void)
{

     GPIO_Config_T  configStruct;
    /* Enable the GPIO_LED Clock */
    RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOE);
    /* Configure the GPIO_LED pin */
    GPIO_ConfigStructInit(&configStruct);
    configStruct.pin = GPIO_PIN_5|GPIO_PIN_6;
    configStruct.mode = GPIO_MODE_OUT;
    configStruct.speed = GPIO_SPEED_50MHz;
    GPIO_Config(GPIOE, &configStruct);

}

void Tim_Init(void)
{
          TMR_BaseConfig_T baseConfig;
    RCM_EnableAPB2PeriphClock(RCM_APB2_PERIPH_TMR1);

    /* TMR1 Configure */
    baseConfig.clockDivision = TMR_CLOCK_DIV_1;
    baseConfig.countMode = TMR_COUNTER_MODE_UP;
    baseConfig.division = 119;
    baseConfig.period = 999;
    baseConfig.repetitionCounter = 0;
    TMR_ConfigTimeBase(TMR1, &baseConfig);
        
            /* Enable TMR1 Interrupt */
    TMR_EnableInterrupt(TMR1, TMR_INT_UPDATE);
    NVIC_EnableIRQRequest(TMR1_UP_TMR10_IRQn, 0, 0);
        
    TMR_Enable(TMR1);
}

unsigned int TimCount=0;
void TMR1_UP_TMR10_IRQHandler(void)
{
    if(TMR_ReadIntFlag(TMR1, TMR_INT_UPDATE) == SET)
    {
        TimCount++;
                        if(TimCount==1000)
                        {
                           TimCount=0;
                                 GPIO_ToggleBit(GPIOE,GPIO_PIN_5|GPIO_PIN_6);
                        }
        TMR_ClearIntFlag(TMR1, TMR_INT_UPDATE);
    }
}


所有初始化完成了之后就只现在这个样子,下载到开发板里面,周期为0.5Hz
发现频率实际上是不对的,所以要做一下时钟的配置的修改。USB的时钟的话按时修改为240/6=40MHz


使用特权

评论回复
沙发
szt1993| | 2024-5-23 18:02 | 只看该作者
楼主定时器是进行的延时函数?

使用特权

评论回复
板凳
shenxiaolin|  楼主 | 2024-5-25 10:06 | 只看该作者
szt1993 发表于 2024-5-23 18:02
楼主定时器是进行的延时函数?

定时器中断内部点灯的

使用特权

评论回复
地板
WoodData| | 2024-5-25 23:58 | 只看该作者
向LZ学习学习

使用特权

评论回复
5
星辰大海不退缩| | 2024-6-22 20:48 | 只看该作者
定时器用到计数、输入捕获,互补输出等功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:运达电气-产品经理
简介:毕业于西南科技大学,从事MCU、MPU开发工作近8年,熟悉嵌入式软硬件开发流程,产品管理以及现场项目管理。

90

主题

1128

帖子

6

粉丝