完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,大家好,
我在定时器通道上配置 PWM 时遇到问题。我正在研究带有 LL 库的 STM32L552ZE。我正在尝试在引脚 PB9(tiM17 CH1)上配置 PWM。我首先配置为带中断的 PWM(TIM17 更新中断和中断切换引脚)它工作正常。但是当我尝试用 OC 配置它时,我什么也得不到,只有 1.3V 的引脚。我只连接了一个 NPN 晶体管的基极。您将在下面找到用于配置 PWM 的代码: void Config_125kHzPWM(void) { LL_TIM_InitTypeDef TIM_InitStruct={0}; LL_TIM_OC_InitTypeDef TIM_OC_InitStruct={0}; LL_GPIO_InitTypeDef GPIO_InitStruct={0}; /*启用寄存器CLK*/ RCCCLK_ENABLE_DISABLE((uint32_t *)&RCC->AHB2ENR,RCC_AHB2ENR_GPIOBEN,ENABLE); GPIO_InitStruct.Pin = LL_GPIO_PIN_9; GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; GPIO_InitStruct.Speed = LL_GPIO_SPEED_HIGH; GPIO_InitStruct.Pull = LL_GPIO_OUTPUT_PUSHPULL; GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN; GPIO_InitStruct.Alternate = LL_GPIO_AF_14; LL_GPIO_Init(GPIOB, &GPIO_InitStruct); RCCCLK_ENABLE_DISABLE((uint32_t *)&RCC->APB2ENR,RCC_APB2ENR_TIM17EN,ENABLE); LL_TIM_SetClockSource(TIM17,LL_TIM_CLOCKSOURCE_INTERNAL); /* 设置默认配置 */ TIM_InitStruct.Prescaler = (uint16_t)0x0000; TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; TIM_InitStruct.Autoreload = 0x00DCU; TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV4; TIM_InitStruct.RepetitionCounter = 0U; LL_TIM_Init(TIM17, &TIM_InitStruct); LL_TIM_EnableCounter(TIM17); //LL_TIM_EnableIT_UPDATE(TIM17); //LL_TIM_ClearFlag_UPDATE(TIM17); //NVIC_SetPriority(TIM17_IRQn, 2); //NVIC_EnableIRQ(TIM17_IRQn); /* 设置默认配置 */ TIM_OC_InitStruct.OCMode = LL_TIM_OCMODE_PWM1; TIM_OC_InitStruct.OCState = LL_TIM_OCSTATE_ENABLE; TIM_OC_InitStruct.OCNState = LL_TIM_OCSTATE_ENABLE; TIM_OC_InitStruct.CompareValue = 0x006EU; TIM_OC_InitStruct.OCPolarity = LL_TIM_OCPOLARITY_HIGH; TIM_OC_InitStruct.OCNPolarity = LL_TIM_OCPOLARITY_HIGH; TIM_OC_InitStruct.OCIdleState = LL_TIM_OCIDLESTATE_HIGH; TIM_OC_InitStruct.OCNIdleState = LL_TIM_OCIDLESTATE_HIGH; LL_TIM_OC_Init(TIM17, LL_TIM_CHANNEL_CH1, &TIM_OC_InitStruct); LL_TIM_OC_EnablePreload(TIM17, LL_TIM_CHANNEL_CH1); } 在 main 中,我只是执行这个函数。 MCU APB 时钟为 110MHz。 有人可以指出我的错误吗? 谢谢你。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2696 浏览 1 评论
3229 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1801 浏览 1 评论
3639 浏览 6 评论
6019 浏览 21 评论
957浏览 4评论
1327浏览 4评论
1382浏览 3评论
201浏览 3评论
190浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-12 21:17 , Processed in 1.051123 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号