Пример #1
0
void writeData(uint8_t c)
{
	SET_DC();
	CLR_CS();
	spiWrite(c);
	SET_CS();
} 
Пример #2
0
void ssd1306_data(uint8_t c)
{
    // wait until tx empty flag is set
    while(!(SPI0_S & SPI_S_SPTEF_MASK));

    // d/c pin high for data mode.
    SET_DC();
    // write the command
    SPI0_D = c;
}
Пример #3
0
void drawPixel(int16_t x, int16_t y, uint16_t color)
{
	if(x < 0 || x >= _width || y < 0 || y >= _height) return;

	setAddrWindow(x,y,x+1,y+1);
	SET_DC();
	CLR_CS();
	spiWrite(color >> 8);
	spiWrite(color);
	SET_CS();
}
Пример #4
0
void initLcd(void)
{
	CLR_RST();
	SET_CS();
	SET_DC();
	delay_ms(5);
	SET_RST();
	delay_ms(5);

	CLR_RST();
	delay_ms(20);

	SET_RST();
	delay_ms(150);

	_width  = ILI9341_TFTWIDTH;
	_height = ILI9341_TFTHEIGHT;

	writeCommand(0xEF);
	writeData(0x03);
	writeData(0x80);
	writeData(0x02);

	writeCommand(0xCF);  
	writeData(0x00); 
	writeData(0XC1); 
	writeData(0X30); 

	writeCommand(0xED);  
	writeData(0x64); 
	writeData(0x03); 
	writeData(0X12); 
	writeData(0X81); 

	writeCommand(0xE8);  
	writeData(0x85); 
	writeData(0x00); 
	writeData(0x78); 

	writeCommand(0xCB);  
	writeData(0x39); 
	writeData(0x2C); 
	writeData(0x00); 
	writeData(0x34); 
	writeData(0x02); 

	writeCommand(0xF7);  
	writeData(0x20); 

	writeCommand(0xEA);  
	writeData(0x00); 
	writeData(0x00); 
 
	writeCommand(ILI9341_PWCTR1);    //Power control 
	writeData(0x23);   //VRH[5:0] 
 
	writeCommand(ILI9341_PWCTR2);    //Power control 
	writeData(0x10);   //SAP[2:0];BT[3:0] 
 
	writeCommand(ILI9341_VMCTR1);    //VCM control 
	writeData(0x3e);
	writeData(0x28); 
  
	writeCommand(ILI9341_VMCTR2);    //VCM control2 
	writeData(0x86);  //--
 
	writeCommand(ILI9341_MADCTL);    // Memory Access Control 
	writeData(ILI9341_MADCTL_MX | ILI9341_MADCTL_BGR);

	writeCommand(ILI9341_PIXFMT);    
	writeData(0x55); 
  
	writeCommand(ILI9341_FRMCTR1);    
	writeData(0x00);  
	writeData(0x18); 
 
	writeCommand(ILI9341_DFUNCTR);    // Display Function Control 
	writeData(0x08); 
	writeData(0x82);
	writeData(0x27);  
 
	writeCommand(0xF2);    // 3Gamma Function Disable 
	writeData(0x00); 
 
	writeCommand(ILI9341_GAMMASET);    //Gamma curve selected 
	writeData(0x01); 
 
	writeCommand(ILI9341_GMCTRP1);    //Set Gamma 
	writeData(0x0F); 
	writeData(0x31); 
	writeData(0x2B); 
	writeData(0x0C); 
	writeData(0x0E); 
	writeData(0x08); 
	writeData(0x4E); 
	writeData(0xF1); 
	writeData(0x37); 
	writeData(0x07); 
	writeData(0x10); 
	writeData(0x03); 
	writeData(0x0E); 
	writeData(0x09); 
	writeData(0x00); 
  
	writeCommand(ILI9341_GMCTRN1);    //Set Gamma 
	writeData(0x00); 
	writeData(0x0E); 
	writeData(0x14); 
	writeData(0x03); 
	writeData(0x11); 
	writeData(0x07); 
	writeData(0x31); 
	writeData(0xC1); 
	writeData(0x48); 
	writeData(0x08); 
	writeData(0x0F); 
	writeData(0x0C); 
	writeData(0x31); 
	writeData(0x36); 
	writeData(0x0F); 

	writeCommand(ILI9341_SLPOUT);    //Exit Sleep 
	delay_ms(120); 		
	writeCommand(ILI9341_DISPON);    //Display on 
}