通过 extraPuTTY 发送十六进制数值添加错误的数据

我试图让 ExtraPuTTY 做以下的等同操作:

https://github.com/SolidRun/u-boot-armada38x/blob/u-boot-2013.01-15t1-clearfog/download-serial.sh

我想使用一个 lua 脚本来中断引导顺序,然后通过 xmodem 发送 u-boot 文件。

问题是,当我尝试使用 ExtraPuTTY 发送时,第一个十六进制值从 BB 更改为 C2 BB。

lua_senddata(string.format("%c%c%c%c%c%c%c%c",0xbb,0x11,0x22,0x33,0x44,0x55,0x66,0x77), false);

输出:

Rec: C2 BB
Rec: 11
Rec: 22
Rec: 33
Rec: 44
Rec: 55
Rec: 66
Rec: 77

我还写了一个二进制文件并尝试读取它然后发送,但遇到了同样的问题。

function readAll(file)
    local f = io.open(file, "rb")
    local content = f:read("*all")
    f:close()
    return content
end

local data = readAll([[C:\test\WakeUpData_Send.bin]])
lua_senddata(data, false)

我最好的猜测是将 Char 转换成添加额外的 C2 到数据块的开端。

使用:http://www.serialporttool.com/CommEcho.htm 进行测试。

任何帮助都将不胜感激。

点赞
用户6924177
用户6924177

将下面翻译成中文并且保留原本的 markdown 格式,

原来问题出在文本编码被设置成了 UTF-8,使用 UTF-8 编码表将字符代码转换为 C2 BB。

在 PuTTY 中,我将窗口 > 编码 > 远程字符集改为 “使用字体编码”,它将直接将十六进制代码传递给它。

2016-10-05 20:33:24