一、说明

1、本资料包程序包含两部分,"CAPTURE"为液晶显示截图,"tft4.3"为ARM程序。

2、此程序只适合iCore4液晶模块。

3、iCore4液晶界面显示基于STemWin5.32。

二、界面截图

1、上电从SD卡检测触摸校准文件,若校准文件不存在,直接进入校准界面进行触摸校准,若校准文件存在,可选择进入校准界面。

2、液晶显示与触摸测试,用触摸笔点击屏幕任何地方,则在界面上显示此处横纵坐标值。

三、代码包下载地址

链接:http://pan.baidu.com/s/1eR6vQJw 密码:vmoe

四、预定

五:核心代码

int main(void)
{
FRESULT res; __HAL_RCC_CRC_CLK_ENABLE(); //初始化
system_clock.initialize();
led.initialize();
usart6.initialize();
BSP_SDRAM_Init();
lcd.initialize();
ads7843.initialize();
//GUI初始化
GUI_Init();
GUI_SetBkColor(GUI_BLACK);              
GUI_Clear(); pwm.initialize(); //液晶亮度设置
GUI_Delay();
LCD_ON; //打开液晶 if(BSP_SD_Init() != ){ //SD卡初始化
GUI_SetColor(GUI_RED);
GUI_SetFont(&GUI_FontFixedsys16);
GUI_DispStringHCenterAt("SD Error!",/,/);
while(){
}
}
res = f_mount(&fatfs,"0:",);
if(res != RES_OK){
GUI_SetColor(GUI_RED);
GUI_SetFont(&GUI_FontFixedsys16);
GUI_DispStringHCenterAt("f_mount Error!",/,/);
while(){
}
}
power_on.check_touch();         //检查触摸校准文件 frame.process();           //界面处理
}
static void _cbDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hItem;
const void *pData;
unsigned long int FileSize; switch (pMsg->MsgId) {
case WM_PAINT:
gui_frame(,,,);
gui_frame(,,,); GUI_SetColor(GUI_BLACK);
GUI_SetFont(&GUI_FontFixedsys16);
GUI_DispStringAt("X Position",,);
GUI_DispStringAt("Y Position",,);
break;
case WM_INIT_DIALOG:
hItem = pMsg->hWin;
  WINDOW_SetBkColor(hItem, 0x00CECECE); hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
pData = _GetImageById(ID_IMAGE_0_IMAGE_0, &FileSize);
IMAGE_SetBMP(hItem, pData, FileSize); hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_1);
pData = _GetImageById(ID_IMAGE_1_IMAGE_0, &FileSize);
IMAGE_SetBMP(hItem, pData, FileSize); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
TEXT_SetText(hItem, message[]);
TEXT_SetTextColor(hItem, GUI_WHITE);
TEXT_SetFont(hItem, &GUI_FontFixedsys16); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1);
TEXT_SetText(hItem, message[]);
TEXT_SetTextColor(hItem, GUI_WHITE);
TEXT_SetFont(hItem, &GUI_FontFixedsys16); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0);
EDIT_SetDecMode(hItem,pen.x0,,,,);
EDIT_SetText(hItem, "");
EDIT_SetFocussable(hItem,);
EDIT_SetBkColor(hItem,EDIT_CI_ENABLED,GUI_BLACK);
EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
EDIT_SetTextColor(hItem, EDIT_CI_ENABLED, GUI_GREEN);
EDIT_SetFont(hItem, GUI_FONT_D64);
h_edit_0 = hItem; hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_1);
EDIT_SetDecMode(hItem,pen.y0,,,,);
EDIT_SetText(hItem, "");
EDIT_SetFocussable(hItem,);
EDIT_SetBkColor(hItem,EDIT_CI_ENABLED,GUI_BLACK);
EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
EDIT_SetTextColor(hItem, EDIT_CI_ENABLED, GUI_GREEN);
EDIT_SetFont(hItem, GUI_FONT_D64);
h_edit_1 = hItem;
break;
case WM_NOTIFY_PARENT: break;
default:
WM_DefaultProc(pMsg);
break;
}
}
static void frame_process(void)
{
GUI_CURSOR_Show();
WM_SetCreateFlags(WM_CF_MEMDEV);
  GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, , );
while(){
if(touch_flag == ){
touch_flag = ;
EDIT_SetValue(h_edit_0,pen.x0);
EDIT_SetValue(h_edit_1,pen.y0);
}
GUI_Exec();
}
}

【iCore4 双核心板】4.3寸液晶模块程序发布的更多相关文章

  1. 【iCore4 双核心板】DEMO V1.0 测试程序发布

    iCore4 Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“arm”里是iCore4上arm的程序包,开发环境为KEIL5.17: 2.“fpga”里是iCore4上FPGA的程 ...

  2. 【iCore3 双核心板】DEMO 1.0 测试程序发布

    iCore3 Demo V1.0 程序说明 一.概要 本资料包包含5个文件夹: 1.“arm”里是 icore3上 arm的程序包,开发环境为 KEIL 5.17: 2.“fpga”里是 icore3 ...

  3. 【iCore1S 双核心板】DEMO V1.0 测试程序发布

    iCore1S Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“ARM”里是iCore1S上ARM的程序包,开发环境为KEIL5.17: 2.“FPGA”里是iCore1S上FPG ...

  4. 【iCore4 双核心板_uC/OS-II】例程十一:内存管理

    一.实验说明: 应用程序在运行中为了某种特殊需要,经常需要临时获得一些内存空间.而作为比较完善的操作系统uC/OS-II,也具有动态分配内存的能力. uC/OS-II对内存进行两级管理:把连续内存分成 ...

  5. 【iCore4 双核心板_uC/OS-II】例程十:信号量集

    一.实验说明: 在实际应用中,任务常常需要与多个事件同步,即要根据多个信号量组合作用的结果来决定任务的运行方式.UCOSII为了实现多个信号量组合的功能定义了一种特殊的数据结构——信号量集. 二.实验 ...

  6. 【iCore4 双核心板_uC/OS-II】例程九:消息队列

    一.实验说明: 前面介绍通过信息传递可以进行任务间的交流,信息也可以直接发送给一个任务,在uC/OS-II中每一个任务在它们内部都有一个消息队列,也即任务消息队列,用户可以直接给一个任务发送消息,不需 ...

  7. 【iCore4 双核心板_uC/OS-II】例程八:消息邮箱

    一.实验说明: 消息邮箱是uC/OS-II中的另一种通信机制,可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量.通常该指针指向一个包含了“消息”的特定数据结构.   二.实验截图:   ...

  8. 【iCore4 双核心板_uC/OS-II】例程七:互斥信号量

    一.实验说明: 在介绍互斥信号量前,我们先简单地描述一下什么是优先级反转.使用实时内核心,优先级反转问题是实时系统中出现得最多的问题.假设任务H优先级高于任务M,任务M优先级高于任务L.任务H和任务M ...

  9. 【iCore4 双核心板_uC/OS-II】例程六:信号量——任务同步

    一.实验说明: 信号量是一个多任务内核提出的一个协议机构,上一个实验中我们介绍了信号量访问共享资源 的功能,其实信号量最初是用来控制访问共享资源的,它还可以用来同步一个中断服务函数和一个任 务,或者同 ...

随机推荐

  1. python小工具myqr生成动态二维码

    python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --he ...

  2. 不一样的go语言-不同的OO

    前言   go语言因为产生时代的原因,大神们在设计go时,不得不考虑业界的流行趋势(编程理念),使得go既可以面向过程编程,也可以面向对象编程.这里不探讨两者的优劣,存在即是合理,面向过程编程经久不衰 ...

  3. jackson实现java对象转支付宝/微信模板消息

    一.支付宝消息模板大致长这样 { "to_user_id": "", "telephone": "xxxxx", &qu ...

  4. asp.net core for vs code

    1,命令 2,模板 3,更换启动浏览器 4,vscode使用nuget 5,使用ef migration 6,配置.net core的工作目录 7,使用dotnet ef migrations命令 8 ...

  5. 你还在为无法完美卸载SQL Server 2008 R2而烦恼吗?

    你还在为无法完美卸载SQL Server 2008 R2而烦恼吗? 本文摘抄来自:http://blog.csdn.net/u013058618/article/details/50265961  小 ...

  6. Editplus中添加System.out.println()快捷键

    首先,找到自己电脑Editplus的安装路径,在所属文件夹中找到JAVA.ACP文件: 然后,在文件的末尾加上如下代码: #T=syso System.out.println("^!&quo ...

  7. tableview 选中一行后,不显示选中颜色

    tableview 选中一行后,不显示选中颜色 千万不要将tableview的allowsSelection设置成NO,那样的话可能导致tableview不能响应点击动作. 应该使用:cell.sel ...

  8. JS中的HTML片段

    经常在js里面写一些html模板,但是由于语法不同,没有办法啊直接将html黏贴在js中. var html = "<!DOCTYPE html>"+ "&l ...

  9. 微信小程序 多个视频播放器

    大致思路就是,wx:for="{{ list }}"下两个view,一个视频video,另一个封面image(客户需求,要可以自定义封面).主要控制变量是playIndex,当点击 ...

  10. 微软BI 之SSRS 系列 - 基于时间段参数的 MDX 查询以及时间日历 Date Picker 的时间类型参数化

    今天在天善问答里看到一个问题,如果我没有理解错的话,它应该是指比如在一个报表中选取一个时间段,然后求出这个时间段的某个 Measure 的 SUM 和.并且同时求出这两个时间点对应的上一年的时间点之间 ...