[应用相关] 帮忙看看G030 TIM3可以输出PWM而TIM17不能输出。

[复制链接]
889|5
 楼主| GZZXB 发表于 2019-12-26 09:05 | 显示全部楼层 |阅读模式
Src.rar (12.15 KB, 下载次数: 0)
工程用stm32cubemx生成
/* USER CODE BEGIN 2 */
  //HAL_TIM_PWM_Start(&htim17,TIM_CHANNEL_1);  //开启pwm输出
  //TIM_CCxNChannelCmd(&htim17,TIM_CHANNEL_1,TIM_CCxN_ENABLE);  //
  HAL_TIMEx_PWMN_Start(&htim17,TIM_CHANNEL_1);
  HAL_TIM_Base_Start(&htim17);   

  //打开定时器
  HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);  //开启pwm输出
  HAL_TIM_Base_Start_IT(&htim3);            //打开中断
  /* USER CODE END 2 */


用tim和tim_ex中的API 都无法让tim17输出pwm。
 楼主| GZZXB 发表于 2019-12-26 14:13 | 显示全部楼层
香水城 发表于 2019-12-27 17:37 | 显示全部楼层
  MX_GPIO_Init();
  MX_TIM3_Init();
  MX_TIM17_Init();
  /* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim17, TIM_CHANNEL_1);
HAL_TIMEx_PWMN_Start(&htim17, TIM_CHANNEL_1);
2606.png
我测试没有问题啊。
 楼主| GZZXB 发表于 2019-12-27 20:45 | 显示全部楼层
香水城 发表于 2019-12-27 17:37
MX_GPIO_Init();
  MX_TIM3_Init();
  MX_TIM17_Init();

谢谢,对相同的TIM17看你用了不同文件的API:
HAL_TIM_PWM_Start(&htim17, TIM_CHANNEL_1);
HAL_TIMEx_PWMN_Start(&htim17, TIM_CHANNEL_1);

PWMN 一定要用TIMEx中的API吗?  定时器哪些特性需要用ex中的API? 有相关资料介绍HAL库每个文件的不同点的吗?
香水城 发表于 2019-12-27 22:45 | 显示全部楼层
GZZXB 发表于 2019-12-27 20:45
谢谢,对相同的TIM17看你用了不同文件的API:
HAL_TIM_PWM_Start(&htim17, TIM_CHANNEL_1);
HAL_TIMEx_PW ...

PWMN不是一定要调用那个API,但是你一定配置那个API里涉及到的控制寄存器。

至于哪些找EX文件里的API,没特别总结,反正通用外设驱动文件里找不到时就到EX类型文件看看。
如果还没有,自己操刀改写寄存器无妨。我平常就是这样弄的。
zjq985062714 发表于 2019-12-28 19:00 | 显示全部楼层
香水城 发表于 2019-12-27 22:45
PWMN不是一定要调用那个API,但是你一定配置那个API里涉及到的控制寄存器。

至于哪些找EX文件里的API, ...

是不是pin脚那里的Mode选错了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

96

主题

331

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部