iar Embedded Workbench 如何看串口输出信息

 我来答
回味经典仔
2016-01-02 · 知道合伙人教育行家
回味经典仔
知道合伙人教育行家
采纳数:979 获赞数:31053
从事技术开发、生产技术管理等方面工作的工程技术文件攒写,总结,编写可行的方案,解决生产客户的问题

向TA提问 私信TA
展开全部
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”,弹出设置框如下,很高端啊有木有:
迪凯特科技(北京)有限公司
2023-07-28 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特... 点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
匿名用户
2010-09-15
展开全部
好像用printf可以在output窗口打印出变量的值,之前记得加《stdio。h》
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萍水e相逢
2010-09-01 · TA获得超过3万个赞
知道大有可为答主
回答量:5.9万
采纳率:46%
帮助的人:1.4亿
展开全部
在串口 另外一端,用串口调试助手
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式