2016-07-09 18 views
0

Ich arbeite an DSP800 Kundendisplay oder Pole, es gelang mir, das Display zu löschen, Text in die erste oder zweite Zeile des Displays schreiben; aber ich habe nicht einen Weg finden, horizontal um den Text auf dem Display zu scrollen, hier ist der Befehl in der Bedienungsanleitung:So scrollen Sie Text auf einem Kundendisplay/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 

F: Gibt es eine Möglichkeit, Scrollen oder blinken, den Text auf dem Display zu implementieren? Vielen Dank.

Antwort

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); 
    } 
Verwandte Themen