我尝试使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进行测试。
任何帮助都将不胜感激。
答案 0 :(得分:1)
事实证明,文本编码设置为UTF-8正在使用UTF-8代码表将字符代码转换为C2 BB。
在putty我更改了Window>翻译>远程字符集设置为'使用字体编码'它直接写成十六进制代码传递给它。