十六进制命令中间的十进制到十六进制

时间:2017-04-11 18:57:43

标签: c#

我正在尝试在某些打印机中打印存储的位图图像。 该程序是Windows窗体。 打印徽标(位图) - (如果存储了一个)的命令是:

port.Write("\x1C\x70\x01\x00");

(' port'是我的新串口对象的名字)。

可以在0到255 DEC(00到FF HEX)的不同位置 打印机内存。 我需要一个for循环或while循环来增加上面的代码行,

port.Write("\x1C\x70\x01\x00"); would become
port.Write("\x1C\x70\x02\x00");
port.Write("\x1C\x70\x03\x00"); up to FF
port.Write("\x1C\x70\xFF\x00");

等等。

我查看了MSDN&搜索堆栈溢出:

2 个答案:

答案 0 :(得分:2)

另外,作为Coriths解决方案的替代品。 http://my-ip:3000/对象允许您直接编写字节数组,而不是将字节转换为SerialPort然后再将其转换回字节的字符串。

SerialPort

答案 1 :(得分:0)

这个循环应该适合你。您始终可以使用0x在循环中使用十六进制数字。

for(var c = 0x01; c <= 0xFF; c++)
{
  port.Write($"\x1C\x70\x{c:X2}\x00");
}