完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
分频参数设置 2 - 1(X - Y)情况下,生成的模板出现了bug
/* USER CODE END tiM6_Init 1 */ TIM_InitStruct.Prescaler = LL_TIM_ETR_FILTER_FDIV1_N4 - LL_TIM_ETR_FILTER_FDIV1_N2; TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; TIM_InitStruct.Autoreload = 65535; LL_TIM_Init(TIM6, TIM_InitStruct); LL_TIM_DisableARRPreload(TIM6); LL_TIM_SetTriggerOutput(TIM6, LL_TIM_TRGO_RESET); LL_TIM_DisableMasterSlaveMode(TIM6); /* USER CODE BEGIN TIM6_Init 2 */ |
|
相关推荐
1个回答
|
|
根据您提供的信息,我将尝试分析STM32CubeMX 6.10.0使用LL库生成定时器模板报错的原因,并提供可能的解决方案。
1. 首先,我们需要检查分频参数设置是否正确。在您的代码中,分频参数设置为2 - 1(X - Y),即LL_TIM_ETR_FILTER_FDIV1_N4 - LL_TIM_ETR_FILTER_FDIV1_N2。这个设置可能不正确,因为LL_TIM_ETR_FILTER_FDIV1_N4和LL_TIM_ETR_FILTER_FDIV1_N2是用于外部触发滤波器分频的参数,而不是定时器的分频参数。正确的分频参数应该使用LL_TIM_PRESCALER_xxx宏定义,例如LL_TIM_PRESCALER_DIV1。 2. 接下来,我们需要检查TIM_InitStruct.Prescaler的赋值。在您的代码中,TIM_InitStruct.Prescaler的赋值可能存在问题。您应该使用正确的分频参数,例如: ``` TIM_InitStruct.Prescaler = (uint32_t)((SystemCoreClock / 2) / 1000000) - 1; // 假设系统时钟为200MHz,定时器时钟为1MHz ``` 3. 检查LL_TIM_SetTriggerOutput函数的参数。在您的代码中,LL_TIM_SetTriggerOutput(TIMx)缺少参数。正确的函数调用应该是: ``` LL_TIM_SetTriggerOutput(TIM6, LL_TIM_TRGO_RESET); ``` 其中,LL_TIM_TRGO_RESET是触发输出的选项之一,您可以根据需要选择其他选项。 4. 最后,确保您的STM32CubeMX项目配置正确,包括时钟设置、定时器配置等。 综上所述,您需要检查分频参数设置、TIM_InitStruct.Prescaler的赋值以及LL_TIM_SetTriggerOutput函数的参数。同时,请确保STM32CubeMX项目配置正确。希望这些建议能帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1202 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1217 浏览 1 评论
625 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
470 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1146 浏览 2 评论
1680浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
339浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
335浏览 3评论
329浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
306浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-1 14:39 , Processed in 0.901991 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191