【iCore4 双核心板】4.3寸液晶模块程序发布
一、说明
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寸液晶模块程序发布的更多相关文章
- 【iCore4 双核心板】DEMO V1.0 测试程序发布
iCore4 Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“arm”里是iCore4上arm的程序包,开发环境为KEIL5.17: 2.“fpga”里是iCore4上FPGA的程 ...
- 【iCore3 双核心板】DEMO 1.0 测试程序发布
iCore3 Demo V1.0 程序说明 一.概要 本资料包包含5个文件夹: 1.“arm”里是 icore3上 arm的程序包,开发环境为 KEIL 5.17: 2.“fpga”里是 icore3 ...
- 【iCore1S 双核心板】DEMO V1.0 测试程序发布
iCore1S Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“ARM”里是iCore1S上ARM的程序包,开发环境为KEIL5.17: 2.“FPGA”里是iCore1S上FPG ...
- 【iCore4 双核心板_uC/OS-II】例程十一:内存管理
一.实验说明: 应用程序在运行中为了某种特殊需要,经常需要临时获得一些内存空间.而作为比较完善的操作系统uC/OS-II,也具有动态分配内存的能力. uC/OS-II对内存进行两级管理:把连续内存分成 ...
- 【iCore4 双核心板_uC/OS-II】例程十:信号量集
一.实验说明: 在实际应用中,任务常常需要与多个事件同步,即要根据多个信号量组合作用的结果来决定任务的运行方式.UCOSII为了实现多个信号量组合的功能定义了一种特殊的数据结构——信号量集. 二.实验 ...
- 【iCore4 双核心板_uC/OS-II】例程九:消息队列
一.实验说明: 前面介绍通过信息传递可以进行任务间的交流,信息也可以直接发送给一个任务,在uC/OS-II中每一个任务在它们内部都有一个消息队列,也即任务消息队列,用户可以直接给一个任务发送消息,不需 ...
- 【iCore4 双核心板_uC/OS-II】例程八:消息邮箱
一.实验说明: 消息邮箱是uC/OS-II中的另一种通信机制,可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量.通常该指针指向一个包含了“消息”的特定数据结构. 二.实验截图: ...
- 【iCore4 双核心板_uC/OS-II】例程七:互斥信号量
一.实验说明: 在介绍互斥信号量前,我们先简单地描述一下什么是优先级反转.使用实时内核心,优先级反转问题是实时系统中出现得最多的问题.假设任务H优先级高于任务M,任务M优先级高于任务L.任务H和任务M ...
- 【iCore4 双核心板_uC/OS-II】例程六:信号量——任务同步
一.实验说明: 信号量是一个多任务内核提出的一个协议机构,上一个实验中我们介绍了信号量访问共享资源 的功能,其实信号量最初是用来控制访问共享资源的,它还可以用来同步一个中断服务函数和一个任 务,或者同 ...
随机推荐
- css 背景透明色, 文字不透明。
[原]CSS实现背景透明,文字不透明,兼容所有浏览器 background-color: rgba(0,0,0,0.5); filter:Alpha(opacity=50);
- 4609: [Wf2016]Branch Assignment 最短路 DP (阅读理解题)
Bzoj的翻译出锅了所以来官方题面:这个题应该是单向边而BZOJ说的是双向边,什么你WA了?谁叫你懒得看英文...... 显然我们能正向反向两遍SPFA处理出每个点到总部的距离和总部到每个点的距离.如 ...
- Altium Designer Summer 09换成中文步骤
1.打开Altium Designer Summer 09软件,在左上角file文件中点击,再打开Preferences出现如下,然后关闭软件在打开就完成了
- BZOJ2759一个动态树好题 LCT
题如其名啊 昨天晚上写了一发忘保存 只好今天又码一遍了 将题目中怕$p[i]$看做$i$的$father$ 可以发现每个联通块都是一个基环树 我们对每个基环删掉环上一条边 就可以得到一个森林了 可以用 ...
- db2 codepage
首先分两个层面,DB2 CODEPAGE和OS CODEPAGE(DB2SET DB2CODEPAGE相当于设定了当前实例的OS的CODEPAGE) Linux系统查看CODEPAGE的方法:在终端输 ...
- Delphi中COM自动化对象中使用事件
unit SrvUnit2; interface uses ComObj, ActiveX, AxCtrls, Classes, SrvEvent_TLB, StdVcl, Srvunit1; typ ...
- 这可能是最好的RxJava 2.x 入门教程(一)
这可能是最好的 RxJava 2.x 入门教程系列专栏 文章链接: 这可能是最好的 RxJava 2.x 入门教程(完结版)[重磅推出] 这可能是最好的RxJava 2.x 入门教程(一) 这可能是最 ...
- CentOS 7.0关闭默认防火墙启用iptables防火墙
转自:https://www.cnblogs.com/lixuwu/p/6087023.html 阅读目录 1 配置防火墙,开启80端口.3306端口 2 关闭SELINUX 3 CentOS 配置防 ...
- iOS开发-工厂模式
工厂模式算是开发中比较常见的设计模式,简单工厂模式,工厂模式和抽象工厂模式,都属于工厂模式.简单工厂模式(simple factory)是类的创建模式,静态工厂方法(static factory me ...
- iOS开发-NSUndoManager撤销(undo)和重做(redo)
程序开发中我们经常会用到的两个快捷键Ctrl+Z和Ctrl+C,撤销和复制,Cocoa开发也可以实现这两个操作,为我们提供非常简单的操作类NSUndoManger,也可以称之为撤销管理器,NSUndo ...