完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
硬件使用STM32G030C8T6的PA6的AF5功能,即tiM16_CH1驱动一个无源蜂鸣器,输出一个2.7K-2.9K的方波,占空比为50%,始终没有成功,查阅datasheet发现PA6也可以映射AF1功能,即TIM3_CH1,将PWM初始化代码中的TIM16替换为TIM3,正常输出方波。MDK里查看了TIM3和TIM16配置后寄存器,完全一样,再改回TIM16,依然不行。确认了PA6的IO配置,尤其是AF寄存器,均是对的。同样的问题,在G070上验证了一样,也是TIM3能输出PWM而TIM16不行。哪位帮我分析分析,谢过!贴一下TIM3的代码
void TIM3_PWMConfig(void) { LL_TIM_InitTypeDef TIM_InitStruct = {0}; LL_TIM_OC_InitTypeDef TIM_OC_InitStruct = {0}; LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3); TIM_InitStruct.Prescaler = SystemCoreClock/1000000-1; TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; TIM_InitStruct.Autoreload = 0xAC*2-1; //频率2.9KHz TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; LL_TIM_Init(TIM3, TIM_InitStruct); LL_TIM_EnableARRPreload(TIM3); LL_TIM_OC_EnablePreload(TIM3, LL_TIM_CHANNEL_CH1); TIM_OC_InitStruct.OCMode = LL_TIM_OCMODE_PWM1; TIM_OC_InitStruct.OCState = LL_TIM_OCSTATE_DISABLE; TIM_OC_InitStruct.OCNState = LL_TIM_OCSTATE_DISABLE; TIM_OC_InitStruct.CompareValue = 0xAC; TIM_OC_InitStruct.OCPolarity = LL_TIM_OCPOLARITY_HIGH; LL_TIM_OC_Init(TIM3, LL_TIM_CHANNEL_CH1, TIM_OC_InitStruct); LL_TIM_OC_DisableFast(TIM3, LL_TIM_CHANNEL_CH1); LL_TIM_SetTriggerOutput(TIM3, LL_TIM_TRGO_RESET); LL_TIM_DisableMasterSlaveMode(TIM3); LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH1); LL_TIM_EnableCounter(TIM3); } |
|
相关推荐
1个回答
|
|
大致看了一下,BDTR中的MOE位没有使能,楼主可以使能后试试看
|
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
427 浏览 1 评论
279 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
247 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
611 浏览 2 评论
637 浏览 2 评论
1364浏览 9评论
37浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
51浏览 3评论
43浏览 3评论
KEIL MDK为什么无法debug library中的代码?
80浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-28 06:59 , Processed in 0.648189 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号