历史上的今天
返回首页

历史上的今天

今天是:2025年08月15日(星期五)

正在发生

2019年08月15日 | STM32F429DISCO与STemWin开发备忘

2019-08-15 来源:eefocus

一、emWin模拟器的使用


把例程排除掉,再把自己需要的代码添加进去编译,就可以了


官方的例程都十分给力

我自个也弄了一个


开发十分方便。




二、测试过程中遇到的一些问题总结


1)429disco的LCD坐标是这样的

触摸屏的坐标是这样的

这意味着界面的emWin的LCDconf要做一些改动,还有触摸屏驱动函数也有小小的改动。




2)emWin中屏幕的旋转,例程的竖屏改为横屏


A.硬件LTDC初始化中,不要进行改动,依旧使用例程里的x=240,y=320。


B.LCDconf中,#define XSIZE_PHYS 240  #define YSIZE_PHYS 320 也是不需要改的,因为ili9341就是240x320的,假如把以上的两个x y改动,屏幕就花屏了(改动其实是可以实现的,猜测是需要改动ili9341里的某些寄存器)


C.通过改动LCDconf中的一些宏就可以把屏幕转过来。


无效!


无效!


有效!


之所以前两个宏无效,是由于stemwin是由lib递交给我们的,不是源代码,所以前两个方式不好使,第三个方法是有效的,是将默认的GUIDRV_LIN_16改为GUIDRV_LIN_OSX_16,屏幕就变成我想要的方向了。


3)stemwin的触摸屏工作原理


typedef struct {

  int x,y;

  U8  Pressed;

  U8  Layer;

} GUI_PID_STATE;


通过GUI_TOUCH_StoreState()或GUI_TOUCH_StoreStateEx()对上面的结构体定期录入,即可实现触摸屏的状态录入,录入后的工作就交给emwin自己处理了,我们只需要在相应的控件回调函数中补入自己想要的功能就行,很方便。


通过定期录入上面的结构体(轮询xtimer,或中断都可以),emwin可以通过上图很明显的识别出触摸的状态。


(在调试过程中,曾经在竖屏情况下,出现只识别clicked,不能识别released的情况,没去深究)




4)调试过程中假如出现莫名卡死的情况,可能是下面的原因:


A.这里设小了,要根据GUI的大小,设定合适的缓存(多大多小,我也在学习中)


#define GUI_NUMBYTES  (1024) *  20

B.RTOS中分配的空间太小,也会死。

xTaskCreate(Bling14, "Bling 14", 2048, NULL, 2, &tidBling14);


emwin+FreeRTOS很好很强大,完。


推荐阅读

史海拾趣

GREEGOO公司的发展小趣事
采用差分信号传输时钟信号,利用不同方向的电压差来获取时钟信号,这种方式能有效抵消传输中的衰减。
Acmelux Taiwan Inc公司的发展小趣事

Acmelux Taiwan Inc公司深知人才是企业发展的根本。因此,公司高度重视人才培养和团队建设。通过设立完善的培训体系、提供广阔的发展平台以及实施激励机制,Acmelux吸引了大批优秀人才的加入。这些人才在公司的发展过程中发挥了重要作用,为公司创造了巨大的价值。同时,公司还注重团队建设,通过定期的团建活动、培训等方式,增强员工的凝聚力和向心力,为公司的发展提供了有力的保障。

Carroll & Meynell Transformers Ltd公司的发展小趣事

随着国内市场的饱和,Carroll & Meynell Transformers Ltd公司开始将目光投向国际市场。公司积极参与国际电子行业的交流与合作,学习借鉴国际先进经验和技术。同时,公司还加大了对海外市场的拓展力度,通过参加国际展览、建立海外销售网络等方式,将产品推向全球。这一国际化战略不仅为公司带来了更广阔的市场空间,也提升了公司的国际影响力。

Gamewell-FCI ( Honeywell )公司的发展小趣事

在电子行业快速发展的背景下,Carroll & Meynell Transformers Ltd公司始终坚持质量第一的原则。公司建立了严格的质量管理体系,从原材料采购到生产加工,再到产品出厂,每一个环节都经过严格的把控。这种对质量的执着追求使得公司的产品在市场上享有很高的声誉。许多客户因为信赖公司的产品质量,而与公司建立了长期稳定的合作关系。

DBM Optix公司的发展小趣事

随着技术的不断成熟,DBM Optix开始积极拓展市场,将产品应用于更广泛的领域。公司不仅在国内市场取得了显著的成绩,还积极开拓国际市场,与全球各地的客户建立了紧密的合作关系。同时,DBM Optix还注重品牌建设,通过参加国际展会、发布技术文章等方式提升品牌知名度和影响力。这些努力使得DBM Optix逐渐成为了光学通信领域的知名品牌。

DIALIGHT公司的发展小趣事

DIALIGHT公司一直专注于工业LED照明领域的发展。他们深入了解工业空间照明的需求和挑战,设计了一系列专为工业应用而定制的LED照明产品。这些产品不仅易于安装和维护,而且能在恶劣的环境下持续使用。此外,DIALIGHT还提供集成系统解决方案,帮助客户降低能源成本、维护成本和碳足迹,同时提高设施的安全性和生产力。通过不断创新和优质服务,DIALIGHT在工业LED照明领域赢得了广泛的认可和信赖。

问答坊 | AI 解惑

基于AVR单片机的远程控制系统的研究

随着互联网的日益普及,各种家电设备、仪器仪表以及工业生产中的数据采集与控制设备在逐步地走向网络化,以实现分布式远程监控、信息交换与共享。目前广泛使用的以太网以及TCP/IP 协议已经成为最常用的网络标准之一,其高速、可靠、分层以及可扩充 ...…

查看全部问答>

8051 单片机汇编指令工具包

本帖最后由 paulhyde 于 2014-9-15 09:27 编辑 8051 单片机汇编指令工具包  …

查看全部问答>

电子测量仪器工业发展分析

  电子测量仪器工业在新中国成立之初就得到了国家的高度重视。“一五”计划和“二五”计划其间,在国家当时兴建的156项重大工程中电子测量仪器占有12项,占国家重大工程总项的7.7%。到第二个五年计划末,基本建成具有当时国际先进水平的11个工厂 ...…

查看全部问答>

我的硬盘有没问题啊

我的硬盘在BIOs里能检测到,但在dos下或用软件都检测不到。也不能低格。怎么办…

查看全部问答>

十万火急:ERROR: function @ Ordinal 1509 missing in Module 'coredll.dll'

在eMbedded Visual C++ 4.0中部署的工程,通过PB连接开发版设备,启动调试应用程序时,出现以下错误: ERROR: function @ Ordinal 1509 missing in Module \'coredll.dll\' !!! Please Check your SYSGEN variable !!! 程序启动失败,并提示:不 ...…

查看全部问答>

请教AT88SC0104C的加密认证

加密认证已经通过了,然后怎样验证密码并对数据加密和解密呢?请用过的高人指点一二!…

查看全部问答>

stm32usb的例子中有用cdc类的实例吗?

stm32官方提供的usb例子中有个虚拟串口的实例,但是PC上要求安装一个st的驱动,而且占用了一个串口的资源。 我看到一些文档上说,把usb设置成cdc类的设备,可以避免安装驱动这个问题, 请问各位有类似的实例吗? 提供个啊…

查看全部问答>

ARM仿真下载疑问

最近想自己画个LM3S1138的最小系统,可是自己水平比较水,下载仿真部分不知该怎么设计,几乎是一点头绪都没有,看之前学长设计的开发板用了FT2232D什么什么的做仿真。 不知道各位高手们有什么经验,可以分享给我下哈,谢谢了!…

查看全部问答>

有国家三等奖吗

本帖最后由 paulhyde 于 2014-9-15 03:46 编辑 如果推到国家 但是没得国一国二 那是赛区一等奖 还是国家三等奖呢?  …

查看全部问答>

【低功耗】FPGA厂商出击低功耗技术瓶颈

 在手持、移动和便携式消费电子市场快速增长的今天,用可编程逻辑器件实现系统设计的比重也在不断增加。随着半导体制造工艺技术的提升,FPGA在规模、速度、价格等方面的竞争力都得到了极大的改善,而与此同时如何有效地控制FPGA的功耗则显得越 ...…

查看全部问答>