今天下载了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 |