OpenEdv-开源电子网

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

为何配置的PWM没有输出信号,请帮我指出错误

[复制链接]

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-11-7
在线时间
0 小时
发表于 2015-4-13 16:11:15 | 显示全部楼层 |阅读模式
5金钱
void pwm_init(u16 data,u16 per)
 {
  RCC->APB1ENR|=1<<2;
RCC->APB2ENR|1<<3;
GPIOB->CRL&=0X0FFFFFFF;
GPIOB->CRL|=0X30000000;
GPIOB->CRH&=0X00F0F00F;
GPIOB->CRH|=0X33030330;
 
TIM4->ARR=data;
TIM4->SC=per;
TIM4->CCMR1=7<<12;
TIM4->CCMR1=1<<11;
TIM4->CCER|=1<<4;
TIM4->CR1=0X0080;
TIM4->CR1=0X01; 
 }
本人采用的式TIM4_CH2,PB.2端口

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

使用道具 举报

36

主题

94

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2015-3-29
在线时间
3 小时
发表于 2015-4-13 16:22:26 | 显示全部楼层
你这个编译难道没有问题??????
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-11-7
在线时间
0 小时
 楼主| 发表于 2015-4-13 16:27:58 | 显示全部楼层
回复【2楼】wodezpyzz:
---------------------------------
没有问题
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-11-7
在线时间
0 小时
 楼主| 发表于 2015-4-13 16:28:31 | 显示全部楼层
请问是什么地方的错误
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-11-7
在线时间
0 小时
 楼主| 发表于 2015-4-13 16:29:17 | 显示全部楼层
是PB.7端口,不好意思打错了
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5782
金钱
5782
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-13 21:58:55 | 显示全部楼层
回复【5楼】骑猪看日出:
---------------------------------
输出PWM,   B7应该设置为复用功能输出
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-11-7
在线时间
0 小时
 楼主| 发表于 2015-4-13 22:17:04 | 显示全部楼层
回复【6楼】lycreturn:
---------------------------------
是的,下午我也发现了,void pwm_init(u16 data,u16 per)
 {
  RCC->APB1ENR|=1<<2;
RCC->APB2ENR|1<<3;  
RCC->APB2ENR|=1<<0;
GPIOB->CRL&=0X0FFFFFFF;
GPIOB->CRL|=0XB0000000;
GPIOB->CRH&=0X00F0F00F;
GPIOB->CRH|=0X33030330;
 
TIM4->ARR=data;
TIM4->SC=per;
TIM4->CCMR1|=7<<12;
TIM4->CCMR1|=1<<11;
TIM4->CCER|=1<<4;
TIM4->CR1=0X0080;
TIM4->CR1|=0X01; 
 }可是在PB7的LED没有出现明暗的变化。我想不到原因
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5782
金钱
5782
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-13 22:21:49 | 显示全部楼层
回复【7楼】骑猪看日出:
---------------------------------
pwm  输出有占空比大小,比如LED低电平点亮,你的pwm输出占空比却很高,几乎输出高电平,LED肯定不会亮
回复

使用道具 举报

36

主题

94

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2015-3-29
在线时间
3 小时
发表于 2015-4-14 15:57:05 | 显示全部楼层
回复【6楼】lycreturn:
---------------------------------
请问一下当使用默认复用功能时要不要打开复用时钟?就是RCC_APB2ENR 的0位AFIO,我发现不打开也可以使用啊,为什么呢?
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-11-7
在线时间
0 小时
 楼主| 发表于 2015-4-14 22:22:06 | 显示全部楼层
回复【9楼】wodezpyzz:
---------------------------------
要打开的
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-11-7
在线时间
0 小时
 楼主| 发表于 2015-4-14 22:27:45 | 显示全部楼层
回复【8楼】lycreturn:
---------------------------------
pwm_init(71999,20);//TIM4->ARR=7199, TIM4->SC=20;

while(1)
{  
if(dir==1)
count++;
else
count--;
if(count==7000)
dir=0;
if(count==0)
dir=1;
   pwm_load=count;
我用这个程序控制步进电机工作,LED灯发生渐变变化但是和LED相连的步进电机的速度确没变化。请问这是什么原因造成的
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5782
金钱
5782
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-14 22:41:35 | 显示全部楼层
回复【9楼】wodezpyzz:
---------------------------------
AFIO有可能在其他地方已经打开了

回复【11楼】骑猪看日出:
---------------------------------
你这个初始化是有问题的    定时器16位的    ARR不能超过65536
步进电机需要驱动的  直接IO驱动不了
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-11-7
在线时间
0 小时
 楼主| 发表于 2015-4-15 08:51:22 | 显示全部楼层
在战舰开发版中老师你用的ARR=899,PSC=0,得到的PWM频率为80KHZ,80KHZ为什么在那么高的频率下LED变化的整个的过程那么缓慢。感觉在80KHZ下从0~300整个过程应该不到1S就应该完成了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 15:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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