打印
[开发工具]

发现 SEGGER_RTT_V210 有一个bug

[复制链接]
1035|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
racinglam|  楼主 | 2015-8-22 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天下载了JLINK 的 Real Time Terminal调试了一下,发现打印函数格式化输出有问题,跟踪调试发现问题出在_PrintUnsigned函数,其中有段代码是这样的:
    while (((v / Digit) >= Base) || (NumDigits > 1u)) {
      NumDigits--;
      Digit *= Base;
    }
应该改为:
    while (((v / Digit) >= Base) || (Width > 1u)) {
      Width--;
      Digit *= Base;
    }
这样打印函数就正常了,但我怀疑SEGGER会不会这么大意,代码应该有测试的啊,求证实:lol
沙发
mmuuss586| | 2015-8-22 19:10 | 只看该作者

这都被你发现,强啊;

使用特权

评论回复
板凳
songchenping| | 2015-8-22 21:09 | 只看该作者
赶紧和segger联系求奖赏啊。

使用特权

评论回复
地板
lwsn| | 2015-8-23 16:06 | 只看该作者
没明白呀,第一个用的NumDigits 控制,第二个用的Width,感觉一样的啊

使用特权

评论回复
5
Thor9| | 2015-8-23 16:41 | 只看该作者
我看到的是变量修改了一下而已

使用特权

评论回复
6
racinglam|  楼主 | 2015-8-24 10:21 | 只看该作者
Thor9 发表于 2015-8-23 16:41
我看到的是变量修改了一下而已

就是改了一个变量名称,看看原函数就知道

使用特权

评论回复
7
Thor9| | 2015-8-24 15:58 | 只看该作者
什么bug,没看懂啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

89

帖子

0

粉丝