完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在程序的调试过程中,除了那些高大上的调试手段外,printf无疑是我们最熟悉最顺手的调试方法。 通过使用printf,我们可以很方便很直观的获取当前程序的运行状态。 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。 但是在单片机开发中,一般情况下并不存在标准输出设备,因此我们需要将printf的输出信息重定向,也就是输出到其他输出设备中去。 在STM32平台上实现重定向的方式有两种,重定向至UART,或者通过JTAG的SW模式将printf重定向至SWO引脚输出。 首先介绍第一种,重定向至UART,这种方式我们比较熟悉,ST官方提供的固件库中也是使用的这种方法。代码如下:在对UART进行初始化后,通过如下代码对printf进行重定向
1.在源码中添加对ITM端口寄存器的定义
2.通过如下代码将printf的输出重定向至ITM的Port 0
3.通过printf输出调试信息
4.将Jtag设置为SW模式,并设置ITM的Port 0 获取信息。 |
|
相关推荐
|
|
881 浏览 0 评论
国产NSI1300D05-DSWVR放大芯片放大增益8.2或41的问题
895 浏览 0 评论
STM32串口接受中断使用C++STL中的queue导致所有中断失效
8670 浏览 1 评论
3394 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1379 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-25 00:06 , Processed in 0.357811 second(s), Total 35, Slave 28 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191