OpenEdv-开源电子网

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

STM32使用计时器2的PB10口如何输出PWM波形

[复制链接]

2

主题

15

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2017-7-28
在线时间
12 小时
发表于 2017-7-31 20:49:21 | 显示全部楼层 |阅读模式
3金钱
我是新手,就是想在PB10口输出pwm波,PB1和PB11输出高电平,下面是配置程序,怎么调都不行。我网上查,感觉是AFIO配置问题,可是怎么配置呢,我也不知道到底该怎么开时钟,谢谢大家了,希望指教一下。

#include "pwm_output.h"
static void TIM2_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOA,ENABLE);
         
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                  
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
         
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;               
GPIO_Init(GPIOB, &GPIO_InitStructure);
         
}
static void TIM2_Mode_Config(void)
{
         TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
         TIM_OCInitTypeDef  TIM_OCInitStructure;
  u16CCR3_Val = 1000;
TIM_TimeBaseStructure.TIM_Period = 1999;      
TIM_TimeBaseStructure.TIM_Prescaler = 6;         
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0 ;   
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;      
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;  
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
         TIM_OCInitStructure.TIM_Pulse= CCR3_Val;           
         TIM_OC3Init(TIM2,&TIM_OCInitStructure);            
  
         TIM_OC3PreloadConfig(TIM2,TIM_OCPreload_Enable);
         TIM_ARRPreloadConfig(TIM2,ENABLE);                           
TIM_Cmd(TIM2, ENABLE);                  
}
void TIM2_PWM_Init(void)
{
         TIM2_GPIO_Config();
         TIM2_Mode_Config();     
}



时代复分.png

最佳答案

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

AFIO时钟未初始化,也没有重映射
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2017-5-16
在线时间
64 小时
发表于 2017-7-31 20:49:22 来自手机 | 显示全部楼层
AFIO时钟未初始化,也没有重映射
回复

使用道具 举报

3

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
204
金钱
204
注册时间
2017-7-16
在线时间
24 小时
发表于 2017-7-31 21:10:35 | 显示全部楼层
能自己看一下教学视频里面pwm波的例程教学?
回复

使用道具 举报

2

主题

15

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2017-7-28
在线时间
12 小时
 楼主| 发表于 2017-8-1 07:30:28 | 显示全部楼层
jxh123 发表于 2017-8-1 00:02
AFIO时钟未初始化,也没有重映射

大神,我想问的就是怎么AFIO初始化和重映射,这两句函数怎么写? 我网上找的库函数后添加AFIO和重映射之后,依然不管用。
回复

使用道具 举报

2

主题

15

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2017-7-28
在线时间
12 小时
 楼主| 发表于 2017-8-1 07:31:23 | 显示全部楼层
NIDO 发表于 2017-7-31 21:10
能自己看一下教学视频里面pwm波的例程教学?

嗯嗯。可以,好的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-16 06:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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