写在前面:
ILI驱动的屏也用了不少,但是总有的显示颜色特别正,有的颜色显示有暗淡,最开始以为是屏的问题,后来发现不是,是驱动参数调的不好导致的。
一下是横屏代码亲测可用。
void ili9341_Initializtion(void)
{
u16 i;
RCC->APB2ENR|=1<<3; //使能PORTB时钟
GPIOB->CRH&=0XFFF0FFFF;
GPIOB->CRH|=0X00030000;//PB.12推挽输出
GPIOB->ODR|=1<<12; //PB.12输出高
LCD_X_Init(); //初始化连接LCD彩色液晶屏上的管脚,比如这里连接的是FSMC总线
ILI9341_RESX_H;
Delay_ms(1);
ILI9341_RESX_L;
Delay_ms(12);
ILI9341_RESX_H;
Delay_ms(122);
//
LCD_ILI9341_CMD(0xCF);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x81);
LCD_ILI9341_Parameter(0x30);
LCD_ILI9341_CMD(0xED);
LCD_ILI9341_Parameter(0x64);
LCD_ILI9341_Parameter(0x03);
LCD_ILI9341_Parameter(0x12);
LCD_ILI9341_Parameter(0x81);
LCD_ILI9341_CMD(0xE8);
LCD_ILI9341_Parameter(0x85);
LCD_ILI9341_Parameter(0x10);
LCD_ILI9341_Parameter(0x78);
LCD_ILI9341_CMD(0xCB);
LCD_ILI9341_Parameter(0x39);
LCD_ILI9341_Parameter(0x2C);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x34);
LCD_ILI9341_Parameter(0x02);
LCD_ILI9341_CMD(0xF7);
LCD_ILI9341_Parameter(0x20);
LCD_ILI9341_CMD(0xEA);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_CMD(0xB1);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x1B);
LCD_ILI9341_CMD(0xB6);
LCD_ILI9341_Parameter(0x0A);
LCD_ILI9341_Parameter(0xA2);
LCD_ILI9341_CMD(0xC0);
LCD_ILI9341_Parameter(0x35);
LCD_ILI9341_CMD(0xC1);
LCD_ILI9341_Parameter(0x11);
LCD_ILI9341_CMD(0xC5);
LCD_ILI9341_Parameter(0x45);
LCD_ILI9341_Parameter(0x45);
LCD_ILI9341_CMD(0xC7);
LCD_ILI9341_Parameter(0xA2);
LCD_ILI9341_CMD(0xF2);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_CMD(0x26);
LCD_ILI9341_Parameter(0x01);
LCD_ILI9341_CMD(0xE0);
LCD_ILI9341_Parameter(0x0F);
LCD_ILI9341_Parameter(0x26);
LCD_ILI9341_Parameter(0x24);
LCD_ILI9341_Parameter(0x0B);
LCD_ILI9341_Parameter(0x0E);
LCD_ILI9341_Parameter(0x09);
LCD_ILI9341_Parameter(0x54);
LCD_ILI9341_Parameter(0xA8);
LCD_ILI9341_Parameter(0x46);
LCD_ILI9341_Parameter(0x0C);
LCD_ILI9341_Parameter(0x17);
LCD_ILI9341_Parameter(0x09);
LCD_ILI9341_Parameter(0x0F);
LCD_ILI9341_Parameter(0x07);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_CMD(0xE1);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x19);
LCD_ILI9341_Parameter(0x1B);
LCD_ILI9341_Parameter(0x04);
LCD_ILI9341_Parameter(0x10);
LCD_ILI9341_Parameter(0x07);
LCD_ILI9341_Parameter(0x2A);
LCD_ILI9341_Parameter(0x47);
LCD_ILI9341_Parameter(0x39);
LCD_ILI9341_Parameter(0x03);
LCD_ILI9341_Parameter(0x06);
LCD_ILI9341_Parameter(0x06);
LCD_ILI9341_Parameter(0x30);
LCD_ILI9341_Parameter(0x38);
LCD_ILI9341_Parameter(0x0F);
LCD_ILI9341_CMD(0x36); //set the model of scanning
LCD_ILI9341_Parameter((1<<5)|(0<<6)|(1<<7)|(1<<3)); //左横屏
//LCD_ILI9341_Parameter((1<<5)|(1<<6));右横屏幕
//LCD_ILI9341_Parameter(0x08); 竖屏幕
LCD_ILI9341_CMD(0x2B); //set the page address 横屏幕设置
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0xEF);
LCD_ILI9341_CMD(0x2A); //set the column address
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x00);
LCD_ILI9341_Parameter(0x01);
LCD_ILI9341_Parameter(0x3F);
// LCD_ILI9341_CMD(0x2A); //set the page address 竖屏幕设置
// LCD_ILI9341_Parameter(0x00);
// LCD_ILI9341_Parameter(0x00);
// LCD_ILI9341_Parameter(0x00);
// LCD_ILI9341_Parameter(0xEF);
// LCD_ILI9341_CMD(0x2B); //set the column address
// LCD_ILI9341_Parameter(0x00);
// LCD_ILI9341_Parameter(0x00);
// LCD_ILI9341_Parameter(0x01);
// LCD_ILI9341_Parameter(0x3F);
LCD_ILI9341_CMD(0x3A);
LCD_ILI9341_Parameter(0x55); //16pixel
LCD_ILI9341_CMD(0x11);
Delay_ms(120);
LCD_ILI9341_CMD(0x29);
LCD_ILI9341_CMD(0x2C);
//while(1)
//{
// {
// u32 i;
// for(i=0;i<(320*240);i++)
// {
// LCD_ILI9341_Parameter(Blue);
// }
// }
// Delay_ms(1000);
// {
// u32 i;
// for(i=0;i<(320*240);i++)
// {
// LCD_ILI9341_Parameter(Red);
// }
// }
// Delay_ms(1000);
// {
// u32 i;
// for(i=0;i<(320*240);i++)
// {
// LCD_ILI9341_Parameter(Green);
// }
// }
// Delay_ms(1000);
//}
}