iar Embedded Workbench 如何看串口输出信息
3个回答
2016-01-02 · 知道合伙人教育行家
关注
展开全部
1)打开KE02 platinum的IAR工程,进入到platinum.c文件,找到main函数如下图1,可以看到其调用了printf打印函数,而该工程是默认调用底层串口的,跳转到该函数的定义如图2,再继续跳转到out_char的函数定义如图3,这下就屡清楚了,可以很直观的看到工程默认是调用UART底层的,下面就要动手改造它对printf进行重定向;
2)首先需要注释掉printf的实现函数,将其屏蔽掉,然后需要给printf一个重新指向的地址,下面就该常见的<stdio.h>这位老兄出场了(貌似当初自打我开始接触Turbo C的时候就已经用到它了,老生常谈的“Hello world”就是调用它内部的printf来实现的)。找到Common.h文件,将<stdio.h>添加到其中,如下图,这样凡是需要printf的文件只需要添加common.h头文件即可:
3)这里先说说stdio.h文件的作用,打开stdio.h文件可以看到其内部定义了标准输入输出函数,包括常见的scanf和printf等函数,而这些函数所调用的底层即为IAR提供的链接到其Terminal的驱动,所以……懂的,呵呵。除此之外,肯定不满足只输出打印(给人略显低端的赶脚有木有),所以为了体现我们不是“土豪”,有必要让它交互起来,实现真正的串口功能(因为一些类似bootloader之类的还是需要输入参数的),我在main函数添加了scanf语句用来测试输入功能,如下:
4)准备工作就绪,编译链接整个工程,然后下载到KE02的板子中并进入到Debug调试环境中,点击View->Terminal I/O调出虚拟终端,然后全步运行,就可以看到Terminal下开始打印调试信息,如下。当然显示输出有点小case了,我们再试试输入功能,在input框中输入‘a’,然后回车,如下图,perfect:
5)还没完,要玩就玩高端大气上点档次的,再探索探索呢,结果又发现个小惊喜,点击上图右下角的“Input Mode”,弹出设置框如下,很高端啊有木有:
2)首先需要注释掉printf的实现函数,将其屏蔽掉,然后需要给printf一个重新指向的地址,下面就该常见的<stdio.h>这位老兄出场了(貌似当初自打我开始接触Turbo C的时候就已经用到它了,老生常谈的“Hello world”就是调用它内部的printf来实现的)。找到Common.h文件,将<stdio.h>添加到其中,如下图,这样凡是需要printf的文件只需要添加common.h头文件即可:
3)这里先说说stdio.h文件的作用,打开stdio.h文件可以看到其内部定义了标准输入输出函数,包括常见的scanf和printf等函数,而这些函数所调用的底层即为IAR提供的链接到其Terminal的驱动,所以……懂的,呵呵。除此之外,肯定不满足只输出打印(给人略显低端的赶脚有木有),所以为了体现我们不是“土豪”,有必要让它交互起来,实现真正的串口功能(因为一些类似bootloader之类的还是需要输入参数的),我在main函数添加了scanf语句用来测试输入功能,如下:
4)准备工作就绪,编译链接整个工程,然后下载到KE02的板子中并进入到Debug调试环境中,点击View->Terminal I/O调出虚拟终端,然后全步运行,就可以看到Terminal下开始打印调试信息,如下。当然显示输出有点小case了,我们再试试输入功能,在input框中输入‘a’,然后回车,如下图,perfect:
5)还没完,要玩就玩高端大气上点档次的,再探索探索呢,结果又发现个小惊喜,点击上图右下角的“Input Mode”,弹出设置框如下,很高端啊有木有:
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询