[其它应用] 中颖TIM4定时初始化

[复制链接]
3435|12
 楼主| tpgf 发表于 2024-6-6 10:33 | 显示全部楼层 |阅读模式
//==timer4 define=====
#define                TIM4_DIV1                  0X00
#define                TIM4_DIV8                0X01
#define                TIM4_DIV64                  0X02
#define                TIM4_DIV256                0X03

#define                Timer4_Cnt_Enb                 Bank1;T4CON |= (1<<1) //允许计数
#define                Timer4_Cnt_Dis                 Bank1;T4CON &= ~(1<<1)  

#define                Timer4_IEN_Enb                 Bank0;IEN1 |= (1<<1) //中断使能
#define                Timer4_IEN_Dis                 Bank0;IEN1 &= ~(1<<1)

#define                TIMER4_ENB           1
#define                TIMER4_DIS           0

void Init_Timer4(uint16 Tcon,uint8 Pscr)
{
        Bank1;
        T4CON = 0X00 ;
        T4CON |= (Pscr<<4) ;

        TL4 = (65536-Tcon)%256 ;
        TH4 = (65536-Tcon)/256 ;//初始化计数器值

        SWTHL &= ~(1<<1) ; //读TH4 TL4时返回 它的计数值
        Bank0;

}

void Timer4_Enb(uint8 EN)
{
        if(EN == TIMER4_ENB)
        {
                Bank1;
                T4CON |= (1<<1) ; //开T4计数
                Bank0;
                IEN1 |= (1<<6) ; //开T4中断
        }
        else
        {
                Bank1;
                T4CON &= ~(1<<1) ;
                Bank0;
                IEN1 &= ~(1<<6) ;
        }
}
//系统时钟12M 定时100us 的中断
Init_Timer4(1200,TIM4_DIV1);
Timer4_Enb(TIMER4_ENB);





————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/chuangwu2009/article/details/29591691

磨砂 发表于 2025-6-6 15:41 | 显示全部楼层
定时器4为16位自动重载定时器,支持边沿触发功能
晓伍 发表于 2025-6-6 17:59 | 显示全部楼层
符合确定一个单片机的定时器是高级定时器还是普通定时器呢
八层楼 发表于 2025-6-6 20:19 | 显示全部楼层
关于中颖定时器4,其一共具有几种工作模式呢
观海 发表于 2025-6-6 22:29 | 显示全部楼层
可以通过定时器来实现精确延时或定时,如LED呼吸灯、按键去抖
guanjiaer 发表于 2025-6-7 08:42 | 显示全部楼层
定时器配合输出比较功能生成占空比可调的PWM信号
heimaojingzhang 发表于 2025-6-7 11:13 | 显示全部楼层
可以配置为计数器模式,统计外部事件的次数
keaibukelian 发表于 2025-6-7 13:39 | 显示全部楼层
多个定时器中断可能竞争,我们需要合理设置中断优先级
paotangsan 发表于 2025-6-7 15:52 | 显示全部楼层
外部事件计数时,需对输入信号进行硬件滤波或软件去抖
renzheshengui 发表于 2025-6-7 18:31 | 显示全部楼层
在中颖官网或开发社区能找到典型代码
wowu 发表于 2025-6-7 20:45 | 显示全部楼层
使用逻辑分析仪或示波器观察定时器输出波形,验证配置正确性
少女诗篇 发表于 2025-9-4 13:42 | 显示全部楼层
使能 TIM4 时钟(如 RCC->APB1ENR 置位);2. 设 ARR 定周期、PSC 预分频值;3. 配 CR1 使能计数器;4. 按需开中断(如 DIER),完成初始化。
逆鳞风暴 发表于 2025-9-7 19:32 | 显示全部楼层
代码中使用了宏定义来简化定时器的配置,这是一个好习惯
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17635

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部