为什么STM32CubeMX的生成的代码用不了呢?关于TIM3-CH4-PWM 输出功能的

2019-07-21 07:47发布

用STM32CubeMX上生成了一个PWM输出的代码,但不能用。反复与原子的例程对比,发现初始化IO口那块的先后顺序不同。
  GPIO_InitTypeDef GPIO_InitStruct;

    /**TIM3 GPIO Configuration   
    PB1     ------> TIM3_CH4
    */

    GPIO_InitStruct.Pin = GPIO_PIN_1;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

就是这部分的IO初始化代码,CubeMX是放在最后才调用的。而原子的代码是在函数HAL_TIM_PWM_MspInit里面调用,然后在HAL_TIM_PWM_Init里面被调用。最后发现把这段代码放在与原子例程相同的位置就行了。并且调用这段程序之前还需要使能IO外设时钟和TIM3时钟才能正常。而CubeMX并没有使能定时器时钟。最后要加上才能正常。。有没有人遇到这种情况的?。。。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
szczyb1314
1楼-- · 2019-07-21 11:27
原子哥说过,不要太依赖cubemx
CeleronN3150
2楼-- · 2019-07-21 12:12
szczyb1314 发表于 2018-11-18 16:47
原子哥说过,不要太依赖cubemx

那连最基本的代码都不能用的话也太没用了。
peng1554
3楼-- · 2019-07-21 13:34
 精彩回答 2  元偷偷看……
CeleronN3150
4楼-- · 2019-07-21 15:06
peng1554 发表于 2018-11-18 21:37
用的啥板子?我看能改代码不

STM32F103ZET6。最小系统的开发板而已。

一周热门 更多>