打印
[STM32F1]

stm32f103C8T6 PA15 怎么用PWM

[复制链接]
3945|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM32CUBE生成的代码PA15  使用定时器2  ch1,无输出,改为通用引脚可以正常使用,有用过的吗?
沙发
磨砂| | 2018-11-8 10:42 | 只看该作者
您是怎么配置的呢

使用特权

评论回复
板凳
645151579|  楼主 | 2018-11-8 10:50 | 只看该作者
磨砂 发表于 2018-11-8 10:42
您是怎么配置的呢


使用特权

评论回复
地板
磨砂| | 2018-11-8 10:54 | 只看该作者
时钟配置的图呢

使用特权

评论回复
5
645151579|  楼主 | 2018-11-8 11:15 | 只看该作者
磨砂 发表于 2018-11-8 10:54
时钟配置的图呢

定时器1,3,4 PWM都正常就这个JTAG复用重映射的不行

使用特权

评论回复
6
磨砂| | 2018-11-8 11:24 | 只看该作者
在配置的时候 生成的代码给瞅瞅

使用特权

评论回复
7
磨砂| | 2018-11-8 11:24 | 只看该作者
你 也可以改用别的引脚 如果感觉复用不好的话

使用特权

评论回复
8
645151579|  楼主 | 2018-11-8 11:34 | 只看该作者
磨砂 发表于 2018-11-8 11:24
在配置的时候 生成的代码给瞅瞅

/* TIM2 init function */
static void MX_TIM2_Init(void)
{
  TIM_ClockConfigTypeDef sClockSourceConfig;
  TIM_MasterConfigTypeDef sMasterConfig;
  TIM_OC_InitTypeDef sConfigOC;

  htim2.Instance = TIM2;
  htim2.Init.Prescaler = 71;
  htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim2.Init.Period = 999;
  htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
  {
    Error_Handler();
  }

  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
  if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
  {
    Error_Handler();
  }

  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 = 999;
  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);
}

使用特权

评论回复
9
645151579|  楼主 | 2018-11-8 11:36 | 只看该作者
磨砂 发表于 2018-11-8 11:24
在配置的时候 生成的代码给瞅瞅

  else if(htim->Instance==TIM2)
  {
  /* USER CODE BEGIN TIM2_MspPostInit 0 */

  /* USER CODE END TIM2_MspPostInit 0 */
  
    /**TIM2 GPIO Configuration   
    PA15     ------> TIM2_CH1
    */
        __HAL_AFIO_REMAP_SWJ_NOJTAG();
    GPIO_InitStruct.Pin = GPIO_PIN_15;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    __HAL_AFIO_REMAP_TIM2_ENABLE();//__HAL_AFIO_REMAP_TIM2_PARTIAL_1();//

  /* USER CODE BEGIN TIM2_MspPostInit 1 */

  /* USER CODE END TIM2_MspPostInit 1 */
  }
自己改的    __HAL_AFIO_REMAP_TIM2_ENABLE();加的        __HAL_AFIO_REMAP_SWJ_NOJTAG(); 也不行;  用别的引脚当让可以,但这问题让人纠结,想不明白怎么就不行

使用特权

评论回复
10
晓伍| | 2018-11-8 12:14 | 只看该作者
看代码是没有问题的

使用特权

评论回复
11
xuanhuanzi| | 2018-11-8 14:48 | 只看该作者
把这个端口作为时钟输出端口、

使用特权

评论回复
12
xuanhuanzi| | 2018-11-8 14:49 | 只看该作者
?????

使用特权

评论回复
13
yiy| | 2018-11-8 15:04 | 只看该作者
这个引脚跟其他的不同吧

使用特权

评论回复
14
wakayi| | 2018-11-8 15:28 | 只看该作者
我记得哪篇**上写过的

使用特权

评论回复
15
645151579|  楼主 | 2018-11-8 16:18 | 只看该作者
xuanhuanzi 发表于 2018-11-8 14:48
把这个端口作为时钟输出端口、

PWM脉宽调节

使用特权

评论回复
16
喝牛奶的猪头三| | 2018-11-8 20:42 | 只看该作者
和STM32f103ze有大的区别吗?

使用特权

评论回复
评论
645151579 2018-11-8 21:11 回复TA
应该没有吧,手册上没有写,stm32cube可以设置 
17
stm32xiaobai| | 2018-11-9 11:04 | 只看该作者
这个是啥编译器?这么简单明了的

使用特权

评论回复
18
645151579|  楼主 | 2018-11-9 20:09 | 只看该作者
stm32xiaobai 发表于 2018-11-9 11:04
这个是啥编译器?这么简单明了的

这个是stm32cube 生成初始化代码,不是编译器,编译器用的KEIL

使用特权

评论回复
19
stm32xiaobai| | 2018-11-12 09:12 | 只看该作者
645151579 发表于 2018-11-9 20:09
这个是stm32cube 生成初始化代码,不是编译器,编译器用的KEIL

就是看着挺好的,

使用特权

评论回复
20
香水城| | 2018-11-12 10:18 | 只看该作者
从你的配置代码来看,不是没有输出。估计你示波器没看到,你把那个PULSE宽度改下点验证下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

52

帖子

1

粉丝