首先要感谢给我帮助的人,原子哥的例程给了我很大的帮助,我移植STemWin就是参考原子哥的例程和安福莱的例程做的,再次感谢!! 本人大概是3月底开始接到这个项目,是一个手持式空气检测仪,前前后后大概有3个多月时间,现在终于接近尾声,也是初次接触STemWin,在这里一直都是GET,也没有共享过内容,所以在这个时间节点把我的项目总结以及部分源代码共享出来,希望能够帮助到其它网友,对自己也算是一个提升吧! 项目时间节点大概也说一下: 1、TFT屏的点亮以及定坐标画点,基本花了一个月,没错就是一个月(屏是客户库存,好几年前的货,技术支持搞不明白,看规格书,测试出来的,花了好久)。。。。; 2、STemWin的移植(主要参考安福莱和原子哥的例程),熟悉,学习,使用,完成客户需求的内容,大概花了两个月; 3、其它的内容基本花了10来天完成的。 以下是大概的一个总结: 1、硬件主要资源: 1)STM32F407ZET6,RAM – 192K ROM –512K 114只脚; 2)1M PSRAM; 3)SPI-FLASH; 4)480 * 800触摸屏(TFT 8080接口,8位数据线,触摸板 I2C 总线接口); 5)温湿度、PM2.5、TVOC等模块; 6)电池管理部分; 7)Wifi模块。 2、使用STM32主要资源: 1) 滴答时钟,主要做为时间片及STemWin计时基准; 2) TIM3、TIM4定时器用作触摸屏处理; 3) TIM1_CH1 PWM输出用作控制屏背光; 4) SPI1 用作SPI-FLASH控制; 5) ADC1-CH14用作电池电压采集; 6) UART1 --Wifi UART3 – PM2.5数据采集; 7) RTC – 同步服务器时间,用作时间展示,时钟源 – LSE; 8) FSMC_BANK1_NORSRAM3– 用作控制PSRAM; 9) FSMC_BANK1_NORSRAM4– 用作控制TFT; 10) 还有一些I/O口用作一些逻辑的控制和输入检测。 3、STemWin的总结: 实现的功能主要有: 1) 界面的实时刷新显示; 2) 按钮的实现; 3) 多级菜单的实现; 4) 参数设置、键盘输入等功能; 5) 汉字的显示; 6) 图片的显示(png和bmp文件)。 用到的控件: 1) BUTTON控件:有自绘按键和默认按键; 2) TEXT控件:一些固定文本的显示; 3) LISTWHEEL控件:一些参数的设置(比如时间等); 4) LISETVIEW控件:一些列表的展现(比如历史记录数据等); 5) WINDOW控件; 6) CHECKBOX控件:背景的设置(采用自绘方式); 7) SLIDER控件:屏幕亮度、休眠时间的设置(采用自绘方式); 8) EDIT控件:Wifi 配网时密码的输入、参数设置的输入等; 大体就是这么多,其中多页面管理采用的是多个对话框的管理,一个界面基本是一个对话框,有个别页面有两个对话框同时管理。 个人认识: STemWin的学习,主要是学习回调机制,控件的使用也比较简单,按照使用说明书就可以用起来,官方例程对学习非常有用。 附件是STemWin的处理的几个文件。file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif
code.zip
(986.7 KB, 下载次数: 1761)
|