完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
以前用tiM8输出2路PWM正常,现在改为TIM2却没有输出,对照datasheet寄存器详细查了遍,没看出问题。先贴出了主要代码,哪位能看看有什么问题? 非常感谢。
static bool PWM_Init(void) { TimHandle2.Instance = TIM2; TimHandle2.Init.Prescaler = (uint32_t)(SystemCoreClock / 16000000) - 1; TimHandle2.Init.Period = 5000; TimHandle2.Init.ClockDivision = 0; TimHandle2.Init.CounterMode = TIM_COUNTERMODE_UP; TimHandle2.Init.RepetitionCounter = 0; if (HAL_TIM_PWM_Init( TimHandle2) != HAL_OK) return false; // Configure PWM duty cycle for (int i = 2; i < 4; i++) { sConfig.Pulse = PWM_GetRealOutput(0); sConfig.OCMode = TIM_OCMODE_PWM1; sConfig.OCPolarity = TIM_OCPOLARITY_HIGH; sConfig.OCNPolarity = TIM_OCNPOLARITY_HIGH; sConfig.OCFastMode = TIM_OCFAST_DISABLE; sConfig.OCIdleState = TIM_OCIDLESTATE_RESET; sConfig.OCNIdleState = TIM_OCNIDLESTATE_RESET; uint32_t address = PWM_GetChannelAddress(i); if (address == -1) return false; if (HAL_TIM_PWM_ConfigChannel( TimHandle2, sConfig, address) != HAL_OK) return false; if (HAL_TIM_PWM_Start( TimHandle2, address) != HAL_OK) return false; } } void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; if (htim == TimHandle2) { __HAL_RCC_SYSCFG_CLK_ENABLE(); __HAL_RCC_AFIO_CLK_ENABLE(); __HAL_RCC_TIM2_CLK_ENABLE(); __GPIOB_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; HAL_GPIO_Init(GPIOB, GPIO_InitStruct); } } bool MOTOR_SetValue(uint8_t ao, float value) { uint32_t pulse = PWM_GetRealOutput(value); if (ao == 0) TimHandle2.Instance->CCR1 = pulse; else if (ao == 1) TimHandle2.Instance->CCR2 = pulse; else if (ao == 2) TimHandle2.Instance->CCR3 = pulse; else if (ao == 3) TimHandle2.Instance->CCR4 = pulse; else return false; return true; } |
|
相关推荐
1个回答
|
|
需要REMAP __HAL_AFIO_REMAP_TIM2_ENABLE();
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1800 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1629 浏览 1 评论
1096 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
735 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1684 浏览 2 评论
1944浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
745浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
578浏览 3评论
601浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
564浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 03:21 , Processed in 1.283290 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号