您尚未登录。

楼主 #1 2018-05-30 15:23:49

gary
会员
注册时间: 2018-05-30
已发帖子: 54
积分: 8.5

移植 littleVGL 到nuc976 + MCU 8位9341 QVGA 彩屏+ FT6236 CTP

硬件资源:

TFT (9341)
LCD_D0----D7 : PA0---PA7
LCD_RS : PG9
LCD_nOE:PG8
LCD_nWE:PG7
LCD_nCS: PG6
LCD_RESET:PG0
LCD_BL: PH1

CTP (FT6336U)

CTP_SDA:PA14
CTP_SCL:PA13
CTP_INT: PA12
CTP_RST:PA11

LCD 初始化

int32_t main(void)
{
uint8_t u8FrameBufPtr,u8OSDFrameBufPtr;
int i;

outpw(REG_CLK_HCLKEN, 0x0527);
outpw(REG_CLK_PCLKEN0, 0);
outpw(REG_CLK_PCLKEN1, 0);

// outpw(REG_SYS_PWRON, (inpw(REG_SYS_PWRON)& ~0x00000004) | 0xFFFFFFF7);
outpw(REG_SYS_REGWPCTL,0x59);
outpw(REG_SYS_REGWPCTL,0x16);
outpw(REG_SYS_REGWPCTL,0x88);
while(!(inpw(REG_SYS_REGWPCTL)&(1<<0)));

sysClearWatchDogTimerCount(); // clear WDT
sysClearWatchDogTimerInterruptStatus();
sysDisableWatchDogTimer(); //close WDT
sysDisableWatchDogTimerReset();

sysDisableCache();
sysFlushCache(I_D_CACHE);
sysEnableCache(CACHE_WRITE_BACK);

sysInitializeUART();

// Configure multi-function pin for LCD interface
//GPG6 (CLK), GPG7 (HSYNC)
outpw(REG_SYS_GPG_MFPL, (inpw(REG_SYS_GPG_MFPL)& ~0xFF000000) | 0x22000000);
//GPG8 (VSYNC), GPG9 (DEN)
outpw(REG_SYS_GPG_MFPH, (inpw(REG_SYS_GPG_MFPH)& ~0xFF) | 0x22);

//DATA pin (8bit)
outpw(REG_SYS_GPA_MFPL, 0x22222222); //GPA0 ~ GPA7 (DATA0~7)

// outpw(REG_SYS_GPA_MFPH, 0x22222222); //GPA8 ~ GPA15 (DATA8~15)
//GPD8~D15 (DATA16~17)
// outpw(REG_SYS_GPD_MFPH, (inpw(REG_SYS_GPD_MFPH)& ~0xFF) | 0x22);

// LCD clock is selected from UPLL and divide to 20MHz
outpw(REG_CLK_DIVCTL1, (inpw(REG_CLK_DIVCTL1) & ~0xFF1F) | 0x1018);

// Init LCD interface for ILI9341 LCD module
vpostLCMInit(DIS_PANEL_ILI9341_MPU80);

// Init MPU80_TFT_8bit
MPU80_TFT_Init();
/ Setup display address /
MPU80_TFT_SetAddress(0, 239, 0, 319);
// Set scale to 1:1
vpostVAScalingCtrl(1, 0, 1, 0, VA_SCALE_INTERPOLATION);

// Set display color depth
vpostSetVASrc(VA_SRC_RGB565);
// Get pointer of video frame buffer
// Note: before get pointer of frame buffer, must set display color depth first
u8FrameBufPtr = vpostGetFrameBuffer();
if(u8FrameBufPtr == NULL)
{
sysprintf("Get buffer error !!\n");
return 0;
}

vpostOSDSetWindow(33, 30, 70, 70);
/ Memory write /
vpostSetOSDSrc(OSD_SRC_RGB565);
u8OSDFrameBufPtr = vpostGetOSDBuffer();
if(u8OSDFrameBufPtr == NULL)
{
sysprintf("Get OSD buffer error !!\n");
return 0;
}
// Set scale to 1:1
vpostOSDScalingCtrl(1, 0, 0);
// Configure overlay function of OSD to display OSD image
vpostOSDSetOverlay(DISPLAY_OSD, DISPLAY_OSD, 0);

// Enable color key function
vpostOSDSetColKey(0, 0, 0);

vpostMPUWriteAddr(0x2c);

最近编辑记录 gary (2018-05-30 15:38:59)

离线

楼主 #2 2018-05-30 15:39:45

gary
会员
注册时间: 2018-05-30
已发帖子: 54
积分: 8.5

Re: 移植 littleVGL 到nuc976 + MCU 8位9341 QVGA 彩屏+ FT6236 CTP

上面是点屏的代码

离线

楼主 #4 2018-05-30 16:19:50

gary
会员
注册时间: 2018-05-30
已发帖子: 54
积分: 8.5

Re: 移植 littleVGL 到nuc976 + MCU 8位9341 QVGA 彩屏+ FT6236 CTP

可以的,加上littleVGL 后编译很多错

离线

楼主 #7 2018-05-30 21:20:59

gary
会员
注册时间: 2018-05-30
已发帖子: 54
积分: 8.5

Re: 移植 littleVGL 到nuc976 + MCU 8位9341 QVGA 彩屏+ FT6236 CTP

9341,7789的屏我以前做产品用过,市场上很多的

离线

楼主 #9 2018-05-31 09:48:09

gary
会员
注册时间: 2018-05-30
已发帖子: 54
积分: 8.5

Re: 移植 littleVGL 到nuc976 + MCU 8位9341 QVGA 彩屏+ FT6236 CTP

CTP是分开的

离线

楼主 #10 2019-07-03 16:09:25

gary
会员
注册时间: 2018-05-30
已发帖子: 54
积分: 8.5

Re: 移植 littleVGL 到nuc976 + MCU 8位9341 QVGA 彩屏+ FT6236 CTP

nuc97x littltVGL DEMO

离线

楼主 #11 2019-07-15 15:47:49

gary
会员
注册时间: 2018-05-30
已发帖子: 54
积分: 8.5

Re: 移植 littleVGL 到nuc976 + MCU 8位9341 QVGA 彩屏+ FT6236 CTP

附件上传了,看不到

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


东莞哇酷科技有限公司开发