infofans 发表于 2018-1-12 20:43:49

STM32L452使用TIM15产生2路PWM输出都没有反应??

本帖最后由 infofans 于 2018-1-17 10:52 编辑

【已解决】
如题,是基于CUBEMX的工程,只添加TIM15的PWM功能,但是没效果,看不到波形,也不知道是哪里出错了,发上来请大家帮忙看看,不胜感激!!PS:还测试了TIM1与TIM2都可以输出PWM的
下面一些cube的设置








/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim15, TIM_CHANNEL_1);
      TIM15->CCR1 = 499;

/* USER CODE END 2 */


附上完整




感谢@zero99给予帖子的曝光机会才让问题这么快的解决,以及所有参与讨论的朋友。
另外特别感谢@Paderboy指出了问题所在,
都怪自己没有认真查看原理图。。。
PA2 PA3 是接板载stlink 的虚拟串口的 板子Morpho 接口是被断开的
把Tim15输出引脚映射到PB14 PB15就可以看到PWM波形了
Paderboy的详细解答在13楼,有遇到相同问题的朋友可以参考一下:)

Paderboy 发表于 2018-1-16 19:49:28

本帖最后由 Paderboy 于 2018-1-16 19:56 编辑

;P;P我知道你为什么测试没有输出了。。。。


默认PA2 PA3 是接板载stlink 的虚拟串口的。。板子Morpho 接口是被断开的。。。以后先看看原理图吧。。。




你可以把Tim15输出引脚映射到PB14 PB15 就不需要改板子的物理接线测试了。。




infofans 发表于 2018-1-15 10:04:02

本帖最后由 infofans 于 2018-1-16 16:34 编辑

今天仍然无解,毫无头绪。------

哦,对了,我用的是NUCLEO板,有没有可能是板子上物理布线的原因呢?


查看了原理图好像也没有哪里不对的呢。

wenyangzeng 发表于 2018-1-16 09:47:46

解压缩的文件是坏的,无法看到代码。
建议:
PLUSE=0当然没有输出的,
还有启动PWM需要:
HAL_TIM_PWM_Start(&htim15, TIM_CHANNEL_1);

infofans 发表于 2018-1-16 10:07:46

wenyangzeng 发表于 2018-1-16 09:47
解压缩的文件是坏的,无法看到代码。
建议:
PLUSE=0当然没有输出的,

压缩文件应该没有坏,我刚刚下载测试了,会不会是网络问题导致的??
PLUSE=0是在初始化的时候设置的,我在用户代码段2加入了下面两行代码
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim15, TIM_CHANNEL_1);
      TIM15->CCR1 = 499;

/* USER CODE END 2 */

infofans 发表于 2018-1-16 10:10:59

wenyangzeng 发表于 2018-1-16 09:47
解压缩的文件是坏的,无法看到代码。
建议:
PLUSE=0当然没有输出的,


我也试过在初始化的时候就将pluse设置为499,但是还是没有效果。

wolfgang2015 发表于 2018-1-16 13:27:15

是不是速率太快了哦?放慢点呢?

nyszx 发表于 2018-1-16 15:11:30

试试TIM16呢,它俩最相近,都是16位通用定时器,看看是否可以输出

Paderboy 发表于 2018-1-16 15:23:20

重新用cube建个工程,再试试。直接配置pulse 500 然后HAL_TIM_PWM_Start(&htim15, TIM_CHANNEL_1);

springvirus 发表于 2018-1-16 16:07:27

偶还没用过cube建工程

建议先仔细研读下参考手册和SDK包内的例程

infofans 发表于 2018-1-16 16:22:21

wolfgang2015 发表于 2018-1-16 13:27
是不是速率太快了哦?放慢点呢?

20k,不快的
页: [1] 2
查看完整版本: STM32L452使用TIM15产生2路PWM输出都没有反应??