自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

玩转emWin

大家一起来emWin...

  • 博客(33)
  • 收藏
  • 关注

原创 emWin 2天速成实例教程000_如何快速入门ucGUI/emWin

emWin是一个嵌入式GUI图形库,GUI图形库的概念就好像它是一个平台,我们只需要在这个平台上通过其提供的方法写自己的用户界面应用程序就行,非常简单、便捷。如果没有这个GUI图形库,我们的应用程序还需要考虑按键、编辑框、下拉菜单等控件的绘制和实现,还需要管理各个控件、窗口、页面它们之间的相互关系,还需要做触摸屏/鼠标/键盘的管理等等,这是非常麻烦而且容易出错的事情...

2016-11-25 19:03:28 42278 26

原创 emWin 2天速成实例教程018_emWin的工作原理以及GUI_Delay()/GUI_Exec()函数

可以说emWin所有动作都靠循环执行GUI_Delay()或GUI_Exec(),两个函数没有本质区别,GUI_Exec()包含在GUI_Delay()中,即GUI_Delay()在查询OS_TimeMS变量(通过一个硬件定时器每1ms中断加1)实现延时的时候不断的去调用GUI_Exec(),区别在于GUI_Delay()带延时1ms功能,而GUI_Exec()不带延时,但两个函数作用是一样的。emWin的应用程序主函数一般是这样的:

2018-04-19 15:25:43 13512 6

原创 emWin 2天速成实例教程017_屏幕无操作进入待机状态的实现方法

(1)在一些操作界面应用中,需要实现待机功能,当长时间不操作触摸屏时,设备将进入待机模式,比如关闭功耗较大的模块,关闭背光等等...(4)值得说明的是:GUI_PID_STATE statePID; 和GUI_PID_GetState(&statePID);

2018-02-22 16:37:47 3063 1

原创 emWin 2天速成实例教程016_不规则异形进度条控件实现方法

备注:(1)打开工程目录下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本会用emWin做项目,其他章节可以需要时再参考。前提准备:因为emWin不规则进度条是基于Skinning位图皮肤方式实现的,因此必须先熟悉:” 教程014_BMP位图图片显示以及位图皮肤的使用方法”...

2017-09-26 00:49:06 4801

原创 emWin 2天速成实例教程015_二维码控件的使用示例

备注:(1)打开工程目录下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本会用emWin做项目,其他章节可以需要时再参考。emWin 5.36版本开始支持二维码控件,该控件的使用比较简单,请看程序即可...

2017-09-26 00:44:39 2579 1

原创 emWin 2天速成实例教程014_BMP位图图片显示以及位图皮肤的使用方法

一、在CodeBlocks中使用位图备注:GLCD屏支持24bbp(RGB888)、16bbp(RGB565)格式的BMP位图(不支持其他格式的位图),16bbp(RGB565)BMP位图可以通过photoshop保存得到,因此,在CodeBlocks中也需要使用这种格式的位图,以photoshop为例:

2017-09-14 17:06:03 7851 1

原创 emWin 2天速成实例教程013_修改BUTTON按钮等控件背景皮肤颜色_SetBkColor

emWin的控件显示效果有两种风格,旧版本风格(按钮是直角的)和新版本Skinning风格(emWin5.28默认风格,按钮是圆角的)。对于emWin5.28及其以上版本,XXXX_SetBkColor()函数是不起作用的,因为此函数是针对于旧版本修改控件背景色。

2017-08-27 14:18:32 12067 1

原创 emWin 2天速成实例教程012_基于STM32单片机的全键盘中文汉字拼音输入法

这个emWin的中文拼音输入法已经做的很完善,也经过比较详细的测试,可以直接拿来当做模板使用(根据需要修改键盘的大小);实现的程序也非常简洁,同时也使用了emWin的一些知识点,值得阅读学习;若你还不会用emWin,可以看:”emWin 2天速成实例教程”。

2017-07-10 18:03:22 12024 1

转载 EFT电快速脉冲群测试

大部分电子产品需要通过电快速瞬变脉冲群(EFT)和静电放电(ESD)等项目的标准测试。EFT和ESD是两种典型的突发干扰,EFT信号单脉冲的峰值电压可高达4kV,上升沿5ns。接触放电测试时的ESD信号的峰值电压可高达8kV,上升时间小于1ns。这两种突发干扰,都具有突发、高压、宽频等特征。

2017-05-10 11:28:25 30670

转载 信号长线传输硬件抗干扰技术

原文地址:http://blog.sina.com.cn/s/blog_74a91e8f0100qf1u.html在系统设计之初,要反复强调运用抗干扰措施,这是许多现实案例的经验教训对设计者的谨示。这种技术措施是当今自动化控制系统中,克服前向过程通道最有效的抗干扰措施之一。通常采用的方式有信号导线的扭绞、屏蔽、接地、平衡、滤波、隔离等各种方法,一般会同时采取多种措施。串

2017-04-15 15:45:26 14661

原创 emWin 2天速成实例教程011_Multipage多页控件使用方法

在界面应用中Multipage控件是一个非常使用的控件,emWin的Multipage控件已经做的非常完善,值得注意的是要理解好Multipage控件的Window窗口概念,下面是emWin说明书关于Multpage的Window窗口描述...

2016-12-01 19:14:00 8650

原创 emWin 2天速成实例教程010_Menu标题菜单控件使用方法

用GUIBuilder创建4个MENU控件,第1个横放,另外3个画成竖放形状(但GUIBuilder不能改成竖放,只能生成C文件之后再修改)...

2016-12-01 15:25:00 5613 1

原创 emWin 2天速成实例教程009_ListView列表框控件使用方法

emWin的ListView控件是一个非常实用的列表框控件,当你要展现一些列表信息但没有此控件可用时,是非常抓狂的事情。emWin的ListView已经做的非常完善,比如可随意拖拉改变列宽度、滚动轴自动管理、可删除任意行或列等等...

2016-11-29 14:43:40 9155

原创 emWin 2天速成实例教程008_IconView图标控件使用方法

使用GUIBuilder V5.30创建如下页面并保存为C文件FramewinDLG.c,然后添加到脱机模拟仿真平台CodeBlocks的emwin工程

2016-11-29 00:20:12 14804

原创 emWin 2天速成实例教程007_Graph波形曲线图形控件使用方法

我们使用GRAPH控件显示数据曲线只需做的事情是将获得的数据(比如AD转换值)用GRAPH_DATA_YT_AddValue()函数赋值给GRAPH控件,每赋值一个数据则显示一个点,点和点之间emWin会自动连结起来,无需我们操心

2016-11-27 19:34:39 18545 5

原创 emWin 2天速成实例教程006_矩阵键盘、PS2键盘、实体按键消息的使用方法(MDK工程)

在emWin中,当调用了GUI_StoreKeyMsg()函数储存键值到emWin之后,emWin除了内部处理键值之外(比如储存键值0x30,emWin会在Edit控件显示出”0”),还会发送一个WM_KEY消息给我们,告诉我们有实体按键按下,在WM_KEY消息中我们可以获取键值并执行我们需要的操作。  该例程必须结合实体键盘才能演示,因为在模拟器中无法获取到电脑键盘并用GUI_StoreKe

2016-11-22 14:27:51 9147 1

原创 emWin 2天速成实例教程005_控件聚焦和用户消息的使用方法

emWin的控件具有聚焦(Focus)功能,聚焦功能对于操作界面来说有时候是不需要的,但有时候是必不可少的。比如需要用键盘操作界面时,没有控件聚焦就没法决定操作哪个控件了,有聚焦的话可以通过TAB键将焦点移动到需要操作的控件,然后执行需要的操作。控件聚焦是emWin内部自己处理的,我们作为用户是不需要理会的,但有时候我们需要将聚焦指定到哪个特定控件,我们就可以用WM_SetFocus()函数实现。

2016-11-22 13:53:49 14109 1

原创 emWin 2天速成实例教程004_软件定时器(Timer)和位图片动画

emWin的TIMER是一个软件定时器,它以OS_TimeMS变量的值作为定时基准,而OS_TimeMS则通过一个硬件定时器每1ms中断加1,在emWin内部程序不断查询OS_TimeMS的变化实现软件定时。

2016-11-22 12:58:28 10027 1

原创 emWin 2天速成实例教程003_Framewin和Window窗口控件和2D绘图

emWin的每个界面都需要一个Framewin/Window窗口控件作为父窗体,就好像Framewin/Window是一个窗体框架,所有控件都放置在这个框架当中,组成父窗体和子控件的连带关系,可以通过父窗体找到子控件,也可以通过子控件找到它的父窗体...

2016-11-08 00:08:38 13488 1

原创 emWin 2天速成实例教程002_多个页面窗口切换

用emWin做界面,可以简单理解为每个C文件即对应一个页面,如果要设计多个页面的界面怎么办?生成多个界面C文件并在回调函数的操作触发消息中用隐藏/显示页面函数:WM_HideWindow()和WM_ShowWindow()实现界面切换程序即可。

2016-11-08 00:03:26 23227 3

原创 emWin 2天速成实例教程001_GUIBuilder的使用方法

备注:(1)打开工程目录下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本会用emWin做项目,其他章节可以需要时再参考。利用emWin的配套工具GUIBuilder,我们可实现组态、拖放式人机用户界面设计;GUIBuilder操作界面非常简单、一目了然;GUIBuilder生成的界面文件是标准C文件,将生成的C文件加到emWin工程中并在...

2016-11-07 23:38:10 29984 8

原创 分享一个emWin软键盘控件

(1)ButtonSKB已经是1个控件,即可以像使用Button控件一样使用ButtonSKB。(2)ButtonSKB是由Button控件修改而来(通过skinning方式),其实是在1个大的按键里面”绘制”出多个小按键(注意是”绘制”,而不是”创建”),即ButtonSKB实际上是1个按键,只是把这个按键的绘图函数改了,改成我们自己的绘图函数并绘制出多个小按键,为什么这么做?请继续看…

2016-07-01 16:36:49 15563 6

原创 用emWin进度条控件做个表盘控件,效果不错

这几天突发奇想,为什么不用Progbar进度条控件改成表盘控件来用,因为它们性质和功能完全一样,只要把背景改一改,画个指针就完事,APP函数完全通用!自己还给它起了个好听的名字:ProgbarMeter控件。步骤如下:

2016-06-25 18:51:29 15074 1

原创 emWin实现BMP位图皮肤之Framewin篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-06-25 18:33:43 7733 6

原创 emWin实现BMP位图皮肤之Spinbox篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-06-25 18:30:34 3009 1

原创 emWin实现BMP位图皮肤之Slider篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-06-25 18:27:17 3448 1

原创 emWin实现BMP位图皮肤之Scrollbar篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-06-25 18:16:39 2862 1

原创 emWin实现BMP位图皮肤之Radio篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-06-25 18:12:53 3447 3

原创 emWin实现BMP位图皮肤之Progbar篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-06-25 18:07:52 3067 2

原创 emWin实现BMP位图皮肤之Multipage篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-06-08 18:35:33 4541

原创 emWin实现BMP位图皮肤之Dropdown篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-06-08 18:26:30 2842

原创 emWin实现BMP位图皮肤之Checkbox篇

(1)emWin通过skinning方式实现控件位图皮肤:1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么...

2016-05-04 20:47:25 2716

原创 emWin实现BMP位图皮肤之Button篇

1)emWin传统贴皮肤图片的方法,是调用APP函数XXXX_SetBitmap()方式实现,但非常非常麻烦。2)要想把控件显示出来,emWin每种控件都有1个控件绘制函数,而把这个控件绘制函数改成我们自己编写的"自定义绘制函数",这样我们想把这个控件画成什么样都行,emWin已经不参与这个控件的绘制工作了;在这个自定义绘制函数里面我们什么都不干,只显示出这个控件的图片,这就是用skinning方式实现位图皮肤。3)支持整幅图片贴图,不需要对整幅图片进行切片分解,非常便捷。

2016-05-04 20:37:39 13434 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除