How to set Pin11 and Pin13 with HIGH and LOW output?

CrossRoads:

{

digitalWrite(pin_cs, LOW);
   digitalWrite(pin_sck, LOW); << not needed - is controlled by SPI mode
   digitalWrite(pin_sdi, LOW);  << not needed - pin is ignore when CS is High
   digitalWrite(pin_sck, HIGH); << not needed
   SPI.transfer(cmd);                << SCK & SDI are toggled here
   digitalWrite(pin_cs, HIGH);    
}



Why do you think the extra control changes are needed?

thanks for your comments.
because i have tested this LCD with normal I/O pin by output HIGH/LOW and it works, but the display speed is toooo slowly, so, i try the SPI way and i want to port this code ]:smiley:

int pin_bl = 3;
int pin_cs = 4;
int pin_sdi = 5;
int pin_sck = 6;
int pin_rst = 7;


//write one byte by SPI
void TFT_SPI_Write_Byte(byte num)    
{  
    int count=0;  
    
    for( count=0; count<8; count++ )  
    { 
        digitalWrite(pin_sck, LOW);
        if(num&0x80)
        {
            digitalWrite(pin_sdi, HIGH); 
        }
        else
        {
            digitalWrite(pin_sdi, LOW);   
        }
        num<<=1;    
        digitalWrite(pin_sck, HIGH);        
    }               
}

// write command one byte
void LCD_WR_REG(byte cmd)     
{ 
    digitalWrite(pin_cs, LOW);
    digitalWrite(pin_sck, LOW);
    digitalWrite(pin_sdi, LOW);
    digitalWrite(pin_sck, HIGH);
    TFT_SPI_Write_Byte(cmd);
    digitalWrite(pin_cs, HIGH);       
}

.....
.....

void setup()
{
    // arduino pin setting, IO for SPI
    pinMode(pin_bl, OUTPUT);
    pinMode(pin_cs, OUTPUT);
    pinMode(pin_sdi, OUTPUT);
    pinMode(pin_sck, OUTPUT);
    pinMode(pin_rst, OUTPUT);

    // clear and reset LCD buffer
    digitalWrite(pin_bl, LOW);  
    digitalWrite(pin_rst, LOW);  
    delay(10);
    digitalWrite(pin_rst, HIGH);  

    // init lcd
    lcd_init();
    LCD_Clear(0x0000);

    //line
    LCD_DrawLine(0, 0, 240, 320);
}