完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一个简单的测试程序,开发环境:
芯片STM32F103+MDK 5.14+CubeMx 4.25生成一个通过串口2 printf函数打印hello world。 现象:直接生成的代码添加串口重定向,可以打印一切正常。调低自动生成的代码优化等级为level0,不能运行,死在printf函数。 有人遇到类似的问题的么?万分感谢! |
|
相关推荐
1个回答
|
|
在这种情况下,我们需要逐步排查问题。以下是一些建议的步骤:
1. 确认优化等级设置:首先,请确保您已正确将优化等级设置为Level 0。在MDK-ARM中,您可以在项目的“Options for Target”对话框中设置优化等级。 2. 检查串口配置:确保串口2的配置与原始生成的代码中的配置相同。这包括波特率、数据位、停止位和奇偶校验位等。 3. 检查printf重定向:在优化等级降低后,确保printf函数的重定向仍然正确。这可能涉及到修改系统启动文件(如system_stm32f10x.c)中的相关代码。 4. 检查中断配置:确保串口2的中断配置正确。这可能涉及到修改NVIC(嵌套向量中断控制器)的设置,以确保串口2的中断被正确处理。 5. 检查代码中的错误处理:在printf函数中添加一些错误处理代码,以便在出现问题时能够及时发现。例如,您可以在printf函数中添加一些调试信息,以帮助确定问题所在。 6. 使用调试器:使用MDK-ARM的调试器逐步执行代码,以确定程序在哪个部分出现问题。这可以帮助您更准确地定位问题。 7. 检查CubeMX配置:重新检查CubeMX中的配置,确保没有遗漏或错误的设置。 8. 寻求社区帮助:如果以上步骤都无法解决问题,您可以尝试在STM32和MDK-ARM相关的论坛或社区中寻求帮助。可能有其他开发者遇到过类似的问题,并能提供解决方案。 9. 考虑升级软件:虽然不是首选方案,但有时软件的更新可能会解决一些已知问题。您可以考虑升级MDK-ARM和CubeMX到最新版本,看看是否能解决问题。 通过以上步骤,您应该能够找到问题所在并解决它。希望这些建议对您有所帮助! |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1553 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1497 浏览 1 评论
925 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
660 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1551 浏览 2 评论
1846浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
603浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
503浏览 3评论
504浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
486浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 10:58 , Processed in 0.817829 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号