STM32
直播中

吴湛

10年用户 762经验值
擅长:可编程逻辑
私信 关注
[问答]

使用LL库时在CUBEMX中设置了重映射,在生成的代码中却没有重映射是为什么?

我在使用LL库时在CUBEMX中设置了重映射,但是在生成的代码中却没有重映射,于是人工添加LL_GPIO_AF_RemapPartial_TIM3(); 然后防真但是走到这里就出现不能继续防真的情况,最后经分析在调用这个函数时禁用了Jlink ,但是在这个函数中没有Jlink的代码。最后发现这个问题如图,不知那位大神能告知原因,我写进去后再读出来值是错的导致我再次配置 AFIO->AMPR 出错

回帖(1)

李英

2024-4-28 17:44:21
在使用STM32CubeMX配置LL库时,如果在生成的代码中没有找到重映射设置,可能有以下几个原因:

1. 确保在STM32CubeMX中正确设置了重映射选项。在配置过程中,请检查是否选择了正确的重映射选项,如LL_GPIO_AF_RemapPartial_TIM3()。

2. 检查生成的代码是否包含了重映射函数的调用。在生成的代码中,通常会有一些初始化代码,这些代码会在系统启动时执行。请检查这些初始化代码中是否包含了重映射函数的调用。

3. 如果在生成的代码中没有找到重映射函数的调用,可以尝试手动添加。在HAL库中,重映射函数通常位于HAL_GPIO.c文件中。在LL库中,您可以尝试在您的项目中手动添加LL_GPIO_AF_RemapPartial_TIM3()函数的调用。

4. 确保在调用重映射函数之前,已经正确配置了GPIO和AFIO。在调用重映射函数之前,需要确保GPIO和AFIO的相关配置已经完成,否则可能会导致重映射失败。

5. 如果在仿真过程中出现问题,可以尝试使用不同的仿真工具或仿真器。有时候,仿真工具或仿真器的问题可能会导致仿真过程中出现问题。

6. 如果在调用重映射函数时禁用了Jlink,可以尝试重新启用Jlink。Jlink是用于调试和仿真的工具,如果禁用了Jlink,可能会导致调试和仿真过程中出现问题。

7. 如果在读取值时发现值错误,可能是因为重映射配置不正确或者读取操作有误。请检查重映射配置和读取操作,确保它们是正确的。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分