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

STM32F103C8 TIM4 PWM CH4输不出PWM

[复制链接]
wdshuang09 提问时间:2016-10-17 23:25 /
阅读主题, 点击返回1楼
收藏 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版