OpenEdv-开源电子网

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

F103 TIM1 完全重映射 无法输出PWM

[复制链接]

1

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2017-9-13
在线时间
48 小时
发表于 2017-12-3 17:52:55 | 显示全部楼层 |阅读模式
1金钱
#include "gpioe_init.h"
#include "tim1_pwm.h"
#include "misc.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_tim.h"

void tim1_pwminit()
{
       
       
        TIM_TimeBaseInitTypeDef   tim1_baseinit;
        GPIO_InitTypeDef          GPIO_E8E13;
        TIM_OCInitTypeDef         tim1_OCinit;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
       
       
        GPIO_PinRemapConfig(GPIO_FullRemap_TIM1,ENABLE);//重映射
        GPIO_E8E13.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_13;
        GPIO_E8E13.GPIO_Mode=GPIO_Mode_AF_PP;
        GPIO_E8E13.GPIO_Speed=GPIO_Speed_10MHz;
        GPIO_Init(GPIOE,&GPIO_E8E13);//PE8,PE13 重映射为TIM1 CH1N CH3
       
        tim1_baseinit.TIM_Period=100;
        tim1_baseinit.TIM_Prescaler=71;
        tim1_baseinit.TIM_CounterMode=TIM_CounterMode_Up;//向上计数
        tim1_baseinit.TIM_ClockDivision=0;
        tim1_baseinit.TIM_RepetitionCounter=0x00;
        TIM_TimeBaseInit(TIM1,&tim1_baseinit);
       
        tim1_OCinit.TIM_OCMode=TIM_OCMode_PWM1;
        tim1_OCinit.TIM_OutputNState=TIM_OutputNState_Enable;
        tim1_OCinit.TIM_OutputState=TIM_OutputState_Enable;
        //tim1_OCinit.TIM_Pulse=10;
        tim1_OCinit.TIM_OCPolarity=TIM_OCPolarity_High;
        tim1_OCinit.TIM_OCNPolarity=TIM_OCNPolarity_Low;   
       
        tim1_OCinit.TIM_OCIdleState=TIM_OCIdleState_Set;
    tim1_OCinit.TIM_OCNIdleState=TIM_OCIdleState_Reset;
       
       
        TIM_OC1Init(TIM1,&tim1_OCinit);
        TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);
       
        TIM_OC3Init(TIM1,&tim1_OCinit);
        TIM_OC3PreloadConfig(TIM1,TIM_OCPreload_Enable);
       
        TIM_ARRPreloadConfig(TIM1,ENABLE);
        TIM_Cmd(TIM1,ENABLE);
        TIM_CtrlPWMOutputs(TIM1, ENABLE);
       
       
       
       
       
}


void dj_open()
{
        L1=0;
        L2=1;
        R1=1;
        R2=0;            //电机正转
        TIM_SetCompare1(TIM1,80);
        TIM_SetCompare3(TIM1,80);
       
}


void dj_close()
{
       
        L1=0;
        L2=0;
        R1=0;
        R2=0;
        //电机不转
        //TIM_SetCompare1(TIM1,20);
       
}

void dj_retreat()//后退
{
        L1=1;
        L2=0;
        R1=0;
        R2=1;            //电机正转
        TIM_SetCompare1(TIM1,30);//设置占空比为30%
        TIM_SetCompare3(TIM3,50);
}




最佳答案

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

看看这,我这边测试PWM输出正常:(STM32F103ZET6)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10572
金钱
10572
注册时间
2017-2-18
在线时间
1914 小时
发表于 2017-12-3 17:52:56 | 显示全部楼层
Huaqiao 发表于 2018-8-30 18:03
设置都是很正常,就是不输出PWM,我也遇到同样的问题,请老师重视这个问题,十分感谢!

看看这,我这边测试PWM输出正常:(STM32F103ZET6)

战舰&精英(F103)TIM1完全重映射测试(PE9,PE11,PE13,PE14).rar

2.31 MB, 下载次数: 21

售价: 1 金钱  [记录]

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-4 01:01:31 | 显示全部楼层
先看不重映射,是否可以输出PWM
回复

使用道具 举报

86

主题

567

帖子

0

精华

高级会员

Rank: 4

积分
825
金钱
825
注册时间
2014-9-30
在线时间
139 小时
发表于 2017-12-4 11:31:15 | 显示全部楼层
去 看看 重映射 的 ‘口’ 时钟 打开否 ? 输入输出 模式 正确否 ?
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2018-8-30
在线时间
3 小时
发表于 2018-8-30 18:03:39 | 显示全部楼层
正点原子 发表于 2017-12-4 01:01
先看不重映射,是否可以输出PWM

设置都是很正常,就是不输出PWM,我也遇到同样的问题,请老师重视这个问题,十分感谢!
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2018-8-30
在线时间
3 小时
发表于 2018-8-31 09:23:40 | 显示全部楼层
感谢支持!
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2018-8-30
在线时间
3 小时
发表于 2018-8-31 09:35:46 | 显示全部楼层
peng1554 发表于 2017-12-3 17:52
看看这,我这边测试PWM输出正常:(STM32F103ZET6)

程序写的很棒!
能否解决FSMC和PEx同时使用的冲突问题?
谢谢!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 14:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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