你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103C8 TIM4 PWM CH4输不出PWM

[复制链接]
wdshuang09 提问时间:2016-10-17 23:25 /
赞 收藏 1 评论27 发布时间:2016-10-17 23:25
27个回答
wdshuang09 回答时间:2016-10-21 08:07:00

RCC->APB2ENR|=1<<3;//使能B端口时钟
这不是打开了GPIO时钟
仙景 回答时间:2016-10-21 08:37:30
手册是原理说明而已,当然不会教你怎么做,该怎样做,自己百度吧
xhzheng 回答时间:2016-10-21 09:00:34
我的使用HAL库,可以正常工作:
main.c:
        MX_TIM2_Init(200,1000);
        HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);


config:

/* TIM2 init function */
void MX_TIM2_Init(int pulse,int period)
{
  TIM_MasterConfigTypeDef sMasterConfig;
  TIM_OC_InitTypeDef sConfigOC;

  htim2.Instance = TIM2;
  htim2.Init.Prescaler = 0;
  htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim2.Init.Period = period;
  htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  if (HAL_TIM_PWM_Init(&htim2) != HAL_OK)
  {
    Error_Handler();
  }

  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
  {
    Error_Handler();
  }

  sConfigOC.OCMode = TIM_OCMODE_PWM1;
  sConfigOC.Pulse = pulse;
  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
  if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
  {
    Error_Handler();
  }

  HAL_TIM_MspPostInit(&htim2);

}

zbber 回答时间:2016-10-21 10:54:08
打开tim4时钟,配置time4 pwm配置,配置好tim4 映射的GPIO初始化,打开计数器,开总中断
Stm32McuLover 回答时间:2016-10-22 12:47:58
zhao.zhao 回答时间:2016-10-22 12:54:19
1、GPIO引脚要配置
2、TIM4要配置
3、PWM功能在TIM4的基础上再设置
4、为什么要寄存器呢?是不是时间太多了,网上有太多的库函数做的成功例子。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

andrewz 回答时间:2016-10-22 13:05:08
有一个位叫做MOE,不知道有没有联系~
wdshuang09 回答时间:2016-10-22 16:18:13
liu553824989 发表于 2016-10-21 08:37
手册是原理说明而已,当然不会教你怎么做,该怎样做,自己百度吧

手册上说明是没有映射的,那么就不是IO映射的问题,当然配了IO映射也没有实现,可能写的程序问题不是出在这;如果你也不知道,也别乱讲了,别装的很利害的样子
wdshuang09 回答时间:2016-10-23 08:14:37
anywill 发表于 2016-10-20 11:05
TIM4有一个MOE位,控制了TIM4的输出

问题找到了,是GPIO输出模式没有配对,要配成复用功能输出,之前配成通用输出功能,PWM就出不来;所以不是GPIO映射问题,手册缺省是TIM4 CH4输出,如果需要映射的话,手册会写在RAMAP那一栏在;可以结贴了,谢谢各位网友的帮助,
pwm .jpg

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

仙景 回答时间:2016-10-23 08:17:17
wdshuang09 发表于 2016-10-23 08:14
问题找到了,是GPIO输出模式没有配对,要配成复用功能输出,之前配成通用输出功能,PWM就出不来;所以不 ...

楼主是否为自己说过的话负责!!!
wdshuang09 回答时间:2016-10-23 08:39:17
本帖最后由 wdshuang09 于 2016-10-23 08:43 编辑
liu553824989 发表于 2016-10-23 08:17
楼主是否为自己说过的话负责!!!

是你理解手册有问题吧,这个TIM4 CH4没有重映射,如果要重映射需要开启AFIO,重映射手册上会写在REMAP栏中,现在我实现了;你一直说是映射问题,所以你说的不对,呵呵~,
学习过程总会遇到问题,别自己懂一点,说话就那种盛气凌人,你的原话"手册是原理说明而已,当然不会教你怎么做,该怎样做,自己百度吧",况且你又没有说对,
感谢这两位网友,andrewz  anywill提醒让我找到问题的根源,同时也谢谢其他网友热心回答
仙景 回答时间:2016-10-23 20:42:20
提示: 该帖被管理员或版主屏蔽
wdshuang09 回答时间:2016-10-24 07:59:46
提示: 该帖被管理员或版主屏蔽
12
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版