OpenEdv-开源电子网

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

stm32战舰 用TIM定时器3 产生PWM 不知道哪里出了问题 请大佬看看

[复制链接]

2

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-2-12
在线时间
2 小时
发表于 2020-4-9 20:12:50 | 显示全部楼层 |阅读模式
1金钱
void TIM3_PWM_INIT(u16 arr,u16 psc)
{
        GPIO_InitTypeDef GPIO_InitTypeSture;
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitSture;
        TIM_OCInitTypeDef TIM_OCInitTypeSture;
       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能GPIO
       
        //初始化IO口  输出 TIM3 CH1 的 PWM 脉冲波形
        GPIO_InitTypeSture.GPIO_Mode= GPIO_Mode_Out_PP; //推挽输出
        GPIO_InitTypeSture.GPIO_Pin=GPIO_Pin_6;      
        GPIO_InitTypeSture.GPIO_Speed= GPIO_Speed_50MHz;
        GPIO_Init(GPIOA,&GPIO_InitTypeSture);
       
        // TIM3 初始化
        TIM_TimeBaseInitSture.TIM_ClockDivision=TIM_CKD_DIV1;//设置时钟分割
        TIM_TimeBaseInitSture.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
        TIM_TimeBaseInitSture.TIM_Period=arr;   //设置自动重装载寄存器周期的值
        TIM_TimeBaseInitSture.TIM_Prescaler=psc;  //设置时钟频率除数的预分频值
        TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitSture);
       
        //初始化TIM3 通道1 PWM模式
        TIM_OCInitTypeSture.TIM_OCMode=TIM_OCMode_PWM2;  //pwm选择模式2
        TIM_OCInitTypeSture.TIM_OutputState=TIM_OutputState_Enable; //比较输出使能
        TIM_OCInitTypeSture.TIM_OCPolarity=TIM_OCPolarity_High;   //输出极性高
        TIM_OC1Init(TIM3,&TIM_OCInitTypeSture);
        TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable);  //使能预装载寄存器
        TIM_Cmd(TIM3,ENABLE);  //使能TIM3
}

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

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14410
金钱
14410
注册时间
2018-8-3
在线时间
1156 小时
发表于 2020-4-9 21:09:12 | 显示全部楼层
你主函数初始化怎么写的 截图看看
回复

使用道具 举报

4

主题

203

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2934
金钱
2934
注册时间
2019-8-16
在线时间
316 小时
发表于 2020-4-9 21:11:17 | 显示全部楼层
主函数写初始化了吗,参考下
【战舰V3&精英_TIM3更新中断&PWM测试程序】
http://www.openedv.com/forum.php?mod=viewthread&tid=289097
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2020-4-2
在线时间
5 小时
发表于 2020-4-11 17:40:17 | 显示全部楼层
GPIO需要映射到定时器3:       
GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); //Timer3部分重映射
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 23:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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