之前有客户反馈过,如果目标板板动态切换UTF-8和GBK编码,上位机也切换容易导致上位机显示空白。此时必须重启TOOL才可以恢复。
通过这几天的研究,锁定到了根本问题,是早期的底层的一个解析处理bug。
下面通过下位机发送GBK + UTF-8的混合编码字符,也没问题了,上位机选择那个编码,那个编码内容正常展示,基本不会出现空白问题。
[C] 纯文本查看 复制代码 SEGGER_RTT_printf(0, "RTT\xB0\xB4\xCF\xD4\xCA\xBE\xB7\xFE\xBA\xCD\xCE\xF1\xB3\xF5\xCA\xBC\xBB\xAF = %d\r\n", i++);
SEGGER_RTT_printf(0, "RTT\xE6\x8C\x89\xE6\x98\xBE\xE7\xA4\xBA\xE6\x9C\x8D\xE5\x92\x8C\xE5\x8A\xA1\xE5\x88\x9D\xE5\xA7\x8B\xE5\x8C\x96 = %d\r\n", i++);
printf("RTT\xE6\x8C\x89\xE6\x98\xBE\xE7\xA4\xBA\xE6\x9C\x8D\xE5\x92\x8C\xE5\x8A\xA1\xE5\x88\x9D\xE5\xA7\x8B\xE5\x8C\x96\r\n");
printf("RTT\xB0\xB4\xCF\xD4\xCA\xBE\xB7\xFE\xBA\xCD\xCE\xF1\xB3\xF5\xCA\xBC\xBB\xAF\r\n");
|