OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4366|回复: 0

定时器中断进不去,求改正配置

[复制链接]

3

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-4-18
在线时间
0 小时
发表于 2015-4-21 16:10:33 | 显示全部楼层 |阅读模式
5金钱
主程序



tim.c
#include "exti.h"
#include "led.h"
#include "key.h"
#include "delay.h"
#include "usart.h"
#include "timer.h"

void TIM4_IRQHandler(void)
 {if(TIM4->SR&0X0001)
 {
   LED0=!LED0;}
TIM4->SR&=~(1<<0);
}

 



void Timerx_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<2; //TIM3时钟使能
TIM4->ARR=arr; //自动重装载值
TIM4->SC=psc; //预分频值
TIM4->DIER|=1<<0;//允许更新中断
TIM4->DIER|=1<<6; //允许触发中断
TIM4->CR1|=0X01;//使能计数器
MY_NVIC_Init(2,3,TIM3_IRQChannel,2);
}




void PWM_Init(u16 arr,u16 psc)
{RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRH&=0XFFFFFFF0; //PA8输出
GPIOA->CRH|=0X00000004; //浮空输入
GPIOA->CRL&=0X0FFFFFFF;
GPIOA->CRL|=0XB0000000;
GPIOA->ODR|=1<<7;//PA7上拉
TIM3->ARR=arr;
TIM3->SC=psc;
TIM3->CCMR1|=6<<12;//PWM1模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CCER|=1<<4;
TIM3->CR1=0x0080;//ARPE使能
TIM3->CR1|=0x01; //定时器3使能
}

tim.h

#ifndef _TIMER_H
#define _TIMER_H
#include "sys.h"
#define LED0_PWM_VAL TIM3->CCR2
void Timerx_Init(u16 arr,u16 psc);
void PWM_Init(u16 arr,u16 psc);
#endif

求助原子哥,程序中用到TIM3和TIM4,一个按键中断和定时中断,TIM3用于产生脉冲,PA7输出脉冲控制舵机转动,TIM4用于定时中断。
结果:按键中断使用正常,定时中断进不去,原子哥帮我看看是不是哪里配置出了问题。






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 07:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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