0

我正在处理DSP800客户显示器或Pole,我成功清除显示器,将文本写入显示器的第一行或第二行;但我没有找到水平滚动显示屏上的文本的方法,这是用户手册中的命令:

Command Code description(hex)   Function description
----------------------------------------------------
ESC E rψ    1B 45 rψ    Set special effect or display mode of specified row

(REMARK)*Using commands “ESC E rψ”, the value of parameter
r   58=all rows
55=upper row
44=lower row
ψ special function, the value is one of
    30= shift mode(default display mode)
    31=rotation mode
    32=blink mode
    33=clear this row and switch to shift mode
    34=overwrite mode
    35=vertical mode

问:有没有办法实现显示屏上的文本滚动或闪烁?谢谢。

4

1 回答 1

0
    public void SetMode(int row, char mode)
    {
        var data = new byte[5];
        data[0] = 0x1B;
        data[1] = (byte)'E';
        if (row == 0)
        {
            data[2] = (byte)'X';
        }
        else if (row == 1)
        {
            data[2] = (byte)'U';
        }
        else if (row == 2)
        {
            data[2] = (byte)'D';
        }

        if (mode == 0x00 || mode == '0') mode = '0';
        else if (mode == 0x01 || mode == '1') mode = '1';
        else if (mode == 0x02 || mode == '2') mode = '2';
        else if (mode == 0x03 || mode == '3') mode = '3';
        else if (mode == 0x04 || mode == '4') mode = '4';

        data[3] = (byte)mode;
        data[4] = 0x00;
        WriteBytes(data);
    }

    public void WriteBytes(byte[] data)
    {
        _port.Write(data, 0, data.Length);
    }
于 2016-07-11T04:26:57.093 回答