STM32F429DISCO与STemWin开发备忘

发布者:独享留白1028最新更新时间:2019-08-15 来源: eefocus关键字:STM32F429DISCO  STemWin  开发备忘 手机看文章 扫描二维码
随时随地手机看文章

一、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很好很强大,完。


关键字:STM32F429DISCO  STemWin  开发备忘 引用地址:STM32F429DISCO与STemWin开发备忘

上一篇:STM32与FreeRTOS学习备忘,xSemaphoreGiveFromISR
下一篇:STM32待机模式Standby Mode与ADC DMA模式测试备忘

推荐阅读最新更新时间:2024-11-02 10:55

Foresight签署在中国山东省联合开发自动驾驶解决方案的备忘
Foresight签署在中国山东省联合开发自动驾驶解决方案的备忘录 山东产研信息院、北斗景踪和Foresight将在基于多传感器融合的障碍物检测和智能导航领域进行合作 以色列奈斯锡安纳 - News Direct - 2022年7月12日 - 汽车视觉系统的创新者Foresight 控股有限公司( Foresight 或 公司 )今天宣布与山东产研信息与人工智能融合研究院有限公司 ( 山东产研信息院 ),系山东产业技术研究院全资设立的专业领域研究院,以及北斗景踪技术(山东)有限公司 ( 北斗景踪 ),系主要从事高精度无缝定位、场景目标实时准确再生和场景目标位置控制研究的公司,签署了备忘录。 该谅解备忘录确立了基于多传感
[汽车电子]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved