📄 hw_mb2401.c
字号:
/******************************************************************/
/* Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved. */
/*******************************************************************
File : hw_Ili9320.c
Desc : Mcupanel型号的Mcu驱动
Author : nzy
Date :
Notes :
$Log :
*********************************************************************/
#include "hw_include.h"
#if(LCDPANEL == MCUIF_MB2401)
//#define LCM_7787 7
//1-->AF240B—36B V1。0(NP);华龙屏7787
//2-->XL-24W2(LW);
//3-->爱伦华7787
//4-->AF240B—36B V1。0(NP)(LW摄像头机型专用MP2418/2427)
//5-->AF240B—36B V1.0(7785)
//6-->
/*---------------------------------------------------------
Name : Mcupanel_PowerOnInit
Desc : Mcupanel上电初始化
Params:
Return:
Author: nzy
Date :
-----------------------------------------------------------*/
void Mcupanel_PowerOnInit(void)
{
UINT32 i,j;
//############################AF240B—36B V1。0(NP)##########################################
delay_nops(20000);
//initializing funciton 1
Mcupanel_Command(0xA1);
delay_nops(16);
Mcupanel_Data(0x00);
delay_nops(90);
Mcupanel_Command(0xA0);
delay_nops(10);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x70);
Mcupanel_Data(0xC8);
delay_nops(20000);
Mcupanel_Command(0x72);
Mcupanel_Data(0xA3);
delay_nops(10);
Mcupanel_Command(0x73);
Mcupanel_Data(0x04);
delay_nops(10);
Mcupanel_Command(0x75);
Mcupanel_Data(0x45);
delay_nops(10);
Mcupanel_Command(0x76);
Mcupanel_Data(0x23);
delay_nops(10);
Mcupanel_Command(0x77);
Mcupanel_Data(0x08);
delay_nops(10);
Mcupanel_Command(0x78);
Mcupanel_Data(0x08);
delay_nops(10);
Mcupanel_Command(0x79);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x7F);
Mcupanel_Data(0xF0);
delay_nops(10);
Mcupanel_Command(0x71);
Mcupanel_Data(0x81); //
delay_nops(2000);
Mcupanel_Command(0x0D);
Mcupanel_Data(0x23);
delay_nops(10);
Mcupanel_Command(0x11);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x12);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x21);
Mcupanel_Data(0x37);
delay_nops(10);
Mcupanel_Command(0x22);
Mcupanel_Data(0x02);
delay_nops(10);
Mcupanel_Command(0x23);
Mcupanel_Data(0x24);
delay_nops(10);
delay_nops(10);
Mcupanel_Command(0x24);
Mcupanel_Data(0x13);
delay_nops(10);
Mcupanel_Command(0x25);
Mcupanel_Data(0x0A);
delay_nops(10);
Mcupanel_Command(0x26);
Mcupanel_Data(0x82);
delay_nops(10);
Mcupanel_Command(0x27);
Mcupanel_Data(0x01);
delay_nops(10);
Mcupanel_Command(0x1E);
Mcupanel_Data(0x25);
delay_nops(10);
Mcupanel_Command(0x1F);
Mcupanel_Data(0x59);
delay_nops(10);
//GAMMA设置
Mcupanel_Command(0x30);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x31);
Mcupanel_Data(0x04);
Mcupanel_Data(0x44);
delay_nops(10);
Mcupanel_Command(0x32);
Mcupanel_Data(0x05);
Mcupanel_Data(0x55);
delay_nops(10);
Mcupanel_Command(0x33);
Mcupanel_Data(0x04);
Mcupanel_Data(0x44);
delay_nops(10);
Mcupanel_Command(0x34);
Mcupanel_Data(0x03);
Mcupanel_Data(0x33);
delay_nops(10);
Mcupanel_Command(0x35);
Mcupanel_Data(0x03);
Mcupanel_Data(0x33);
delay_nops(10);
Mcupanel_Command(0x36);
Mcupanel_Data(0x03);
Mcupanel_Data(0x33);
delay_nops(10);
Mcupanel_Command(0x37);
Mcupanel_Data(0x03);
Mcupanel_Data(0x33);
delay_nops(10);
Mcupanel_Command(0x38);
Mcupanel_Data(0x04);
Mcupanel_Data(0x44);
delay_nops(10);
Mcupanel_Command(0x39);
Mcupanel_Data(0x05);
Mcupanel_Data(0x55);
delay_nops(10);
Mcupanel_Command(0x3A);
Mcupanel_Data(0x06);
Mcupanel_Data(0x66);
delay_nops(10);
Mcupanel_Command(0x3B);
Mcupanel_Data(0x06);
Mcupanel_Data(0x66);
delay_nops(10);
Mcupanel_Command(0x3C);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x3D);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x3E);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x3F);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x40);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x41);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x42);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x43);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x44);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x45);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x46);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x47);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x48);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x49);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x4A);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x4B);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x4C);
Mcupanel_Data(0x07);
Mcupanel_Data(0x77);
delay_nops(10);
Mcupanel_Command(0x4D);
Mcupanel_Data(0x06);
Mcupanel_Data(0x66);
delay_nops(10);
Mcupanel_Command(0x4E);
Mcupanel_Data(0x06);
Mcupanel_Data(0x66);
delay_nops(10);
Mcupanel_Command(0x4F);
Mcupanel_Data(0x06);
Mcupanel_Data(0x66);
delay_nops(400);
Mcupanel_Command(0x00);
Mcupanel_Data(0x04); //扫描方向控制
delay_nops(10);
Mcupanel_Command(0x01);
Mcupanel_Data(0x07); //扫描方向控制
delay_nops(10);
Mcupanel_Command(0x02);
Mcupanel_Data(0x00); //X
Mcupanel_Command(0x03);
Mcupanel_Data(0x00);
Mcupanel_Data(0x00); //Y
//面板大小设置
Mcupanel_Command(0x04);
Mcupanel_Data(0xEF); //结束列数(0~239)
Mcupanel_Command(0x05);
Mcupanel_Data(0x01);
Mcupanel_Data(0x3F); //结束行数(0~319)
//窗口设置
Mcupanel_Command(0x06);
Mcupanel_Data(0x00); //水平起始位置
Mcupanel_Command(0x07);
Mcupanel_Data(0x00);
Mcupanel_Data(0x00); //垂直起始位置
Mcupanel_Command(0x08);
Mcupanel_Data(0xEF); //水平结束位置
Mcupanel_Command(0x09);
Mcupanel_Data(0x01);
Mcupanel_Data(0x3F); //垂直结束位置
delay_nops(10);
Mcupanel_Command(0x0A);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x0B);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x0C);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x14);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x15);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x16);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x17);
Mcupanel_Data(0x01);
Mcupanel_Data(0xFF);
delay_nops(10);
Mcupanel_Command(0x18);
Mcupanel_Data(0x01);
Mcupanel_Data(0xFF);
delay_nops(10);
Mcupanel_Command(0x13);
Mcupanel_Data(0x00);
delay_nops(10);
Mcupanel_Command(0x19);
Mcupanel_Data(0x01);
Mcupanel_Data(0xFF);
delay_nops(10);
Mcupanel_Command(0x1B);
Mcupanel_Data(0x01);
Mcupanel_Data(0xFF);
delay_nops(10);
Mcupanel_Command(0x1C);
Mcupanel_Data(0x01);
Mcupanel_Data(0xFF);
delay_nops(10);
Mcupanel_Command(0x1A);
Mcupanel_Data(0x01);
Mcupanel_Data(0xFF);
delay_nops(10);
Mcupanel_Command(0x1D);
Mcupanel_Data(0x0E);
delay_nops(10);
Mcupanel_Command(0x10);
Mcupanel_Data(0x06); //开显示
Mcupanel_Command(0x0E);
delay_nops(100);
Mcupanel_SetAddr(0x0,0x0);
// ---------- Tested throught displaying black ---------- //
#if 1
for(j=0;j<240;j++)
for(i=0;i<320;i++)
Mcupanel_Data(0x000000);
#endif
}
/*---------------------------------------------------------
Name : Mcupanel_Standby
Desc : Mcupanel的StandBy模式设置
Params: NORMAL -> 恢复正常模式
STANDBY -> 设置为StandBy模式
Return:
Author: nzy
Date :
-----------------------------------------------------------*/
void Mcupanel_Standby(BOOLEAN Enable)
{
if(Enable == STANDBY)//Standby mode
{
}
else//Return normal
{
}
}
/*---------------------------------------------------------
Name : Mcupanel_SetAddr
Desc : Mcupanel起始位置设置
Params: X -> X方向的坐标
Y -> Y方向的坐标
Return:
Author: nzy
Date :
-----------------------------------------------------------*/
void Mcupanel_Reset_Addr()
{
Lcdctrl_McuBypassMode(TRUE);
Mcupanel_Command(0x02);
Mcupanel_Data(0x00); //X
Mcupanel_Command(0x03);
Mcupanel_Data(0x00);
Mcupanel_Data(0x00); //Y
Mcupanel_Command(0x0E);
Lcdctrl_McuBypassMode(FALSE);
}
/*---------------------------------------------------------
Name : Mcupanel_SetAddr
Desc : Mcupanel起始位置设置
Params: X -> X方向的坐标
Y -> Y方向的坐标
Return:
Author: nzy
Date :
-----------------------------------------------------------*/
void Mcupanel_SetAddr(UINT32 x, UINT32 y)
{
Lcdctrl_McuBypassMode(TRUE);
Mcupanel_Command(0x02);
Mcupanel_Data(y&0xff); //X
Mcupanel_Command(0x03);
Mcupanel_Data((x>>8)&0xff);
Mcupanel_Data(x&0xff); //Y
Mcupanel_Command(0x0E);
Lcdctrl_McuBypassMode(FALSE);
}
/*---------------------------------------------------------
Name : Mcupanel_SetAddr
Desc : Mcupanel矩形区域设置
Params: area -> 矩形区域的左上和右下点坐标
Return:
Author: nzy
Date :
-----------------------------------------------------------*/
void Mcupanel_SetWindow(UHRECT *area)
{
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -