OpenEdv-开源电子网

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

用TIMER3产生相同占空比,但是每个周期频率都不相同的方波

[复制链接]

23

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2014-10-18
在线时间
1 小时
发表于 2015-3-30 19:15:10 | 显示全部楼层 |阅读模式
5金钱

不知道为什么不能进入中断,谁能帮忙看看
///PWM的频率是由TIM_ARR确定的,占空比是由TIMx_CCRX寄存器确定的
#include "timer3_pwm.h"
#include "led.h"
//#include "sys.h"
u8 i=0;
u16 arr=17999;
u16 TIMER3_ARR[]={17999,21599,25199,28799,32399,35999};
void TIM3_PWM_Init(u16 psc)
{
    RCC->APB1ENR|=1<<1;   ///开始TIMER3时钟
 RCC->APB2ENR|=1<<3;   ///用到PB0,先使能PORTB的时钟
 GPIOB->CRL&=0XFFfFFFF0;  //先把对应位清零
    GPIOB->CRL|=0X00000003;  //配置PB0推挽输出
 
///CC2输入输出是由CCMR1配置的,不配置默认为0,就是输出
 TIM3->ARR=arr; //设置重装值
 TIM3->SC=psc; //设置预分频,f/(psc+1),

 TIM3->CCR3=2*arr; //占空比设为50%
 TIM3->CCMR2|=7<<4; //CH3启用PWM模式2输出模式
 TIM3->DIER|=1<<3; //允许捕获比较3中断
 TIM3->CCMR2|=1<<3; //输出比较3预装载使能
 TIM3->CCER|=1<<8;  //CH3输出使能
 TIM3->CR1&=1<<7;  //使用自动重装载ARR
 TIM3->CR1|=1<<0;  //使能计数器
 MY_NVIC_Init(1,3,TIM3_IRQn,2);
}
void TIM3_IRQHandler(void)
{
  if(TIM3->SR&1<<3)  //捕获比较3发生捕获事件
 {
   LED1=!LED1;
   arr=TIMER3_ARR[i+1];///psc=17999,计数器的时钟周期为500us
   if(i>5)
    {
         i=0;
   }
 }
   TIM3->SR&=~(1<<0);
}

最佳答案

查看完整内容[请看2#楼]

配置的捕获比较中断,中断产生后清除的是更新标志位,未清除捕获比较中断标志
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-3-30 19:15:11 | 显示全部楼层
配置的捕获比较中断,中断产生后清除的是更新标志位,未清除捕获比较中断标志
回复

使用道具 举报

23

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2014-10-18
在线时间
1 小时
 楼主| 发表于 2015-4-1 18:21:41 | 显示全部楼层
回复【2楼】lycreturn:
---------------------------------
谢谢
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-7-13
在线时间
0 小时
发表于 2015-7-23 10:14:56 | 显示全部楼层
回复【3楼】笨笨的小马驹爱奔跑:
---------------------------------楼主解决了吗?我也想得到这么样的一个周期频率不相同的方波,但不知道怎么下手,楼主能执教一二吗?
回复

使用道具 举报

23

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2014-10-18
在线时间
1 小时
 楼主| 发表于 2015-7-26 10:34:56 | 显示全部楼层
回复【4楼】当儿ing:
---------------------------------
隔了这么长时间,忘记怎么弄的了
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-7-13
在线时间
0 小时
发表于 2015-7-26 19:48:59 | 显示全部楼层
回复【5楼】笨笨的小马驹爱奔跑:
---------------------------------
不知道楼主还有以前的程序吗?我想设计只有一路方波得输出,可以控制它的上升沿开始的时间,相当于一个非均匀的方波输出,不知楼主能否给点指点?感激不尽~
回复

使用道具 举报

23

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2014-10-18
在线时间
1 小时
 楼主| 发表于 2015-8-19 14:09:10 | 显示全部楼层
回复【6楼】当儿ing:
---------------------------------
留个邮箱吧
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-7-13
在线时间
0 小时
发表于 2015-8-27 08:35:21 | 显示全部楼层
回复【7楼】笨笨的小马驹爱奔跑:
---------------------------------
太感谢啦~654183724@qq.com 非常感谢,感谢指点~
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-15 22:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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