|
本帖最后由 Angel_YY 于 2018-7-20 17:44 编辑 STM32的GUI高阶在线培训已经结束了几天了,这几天一直抽时间看回放和创建工程的视频,创建工程的视频虽然不长,但是操作步骤确实不少,中间稍有不慎设置错一处就会导致最终图像显示异常,中间本人就是因为一个小小的错误,导致最后图像显示不出来,只好重新在看一遍,一点一点的对照,终于找到错误了,并且最终显示正确了。整个过程通过图片的形式进行了详细记录,接下来分享给大家。
首先是打开STM32CubeMX,点击New Project,新建一个项目,然后在Board Selector中选择STM32F7系列,此时就可以在右侧列表看到32F769IDISCOBERY开发板了,双击进行设置。
此时,提示是否初始化所有外设,这里我们手动设置,所以选择No。
进入STM32CubeMX设计界面后,首先进行管脚配置,激活CRC,这个STemWin要用到。激活DMA2D,配置SDRAM。
配置LTDC为RGB888模式,选择外部晶振,设置DSIHOST。
在中间件中启用STemWin,并设置显示界面。
接下来进入时钟配置界面,选择使用外部时钟,设置主频为216MHz,设置LCD通讯的倍频和分频,最终保证LCD频率为41.7MHz。
接下来进入配置界面,对各个组件进行配置。首先设置DMA2D组件,启用全局中断。
返回管脚配置页面,搜索PJ15,在MCU管脚图中会闪烁显示PJ15的管脚,鼠标点击后设置为GPIO_Output。
继续配置组件,在DSIHOST组件中配置数据和时钟,选择使用两个数据通道。
配置DSIHOST的时序,最小等待周期设置为10.
设置所哟DSI传输命令为低功耗传输。
在DSIHOST的显示界面,配置最大命令尺寸为400
启用DSIHOST的全局中断。
继续设置LTDC组件,如图进行参数设置。
LTDC的层设置,参数如图所示。
启用LTDC全局中断。
设置FMC,这个是用来驱动SDRAM的。
设置LTDC、DMA2D和DSI的中断优先级为15。
设置图形组件,使用GPIO的PJ15来控制LCD的复位。
图形参数设置,启用外部GUI编辑工具GUIBuilder,设置物理显示尺寸为实际的屏幕分辨率。
接下里对工程STM32CubeMX的工程进行设置,需要选择工具链和堆栈大小。
工程设置完后会生成代码,并提示是否打开,这里还没有设置完成,所以选择关机即可,然后继续设置图形组件。
在STemWin中打开GUIBuilder。
在GUIBuilder中选择一个按钮添加到屏幕上,然后保存。
GUIBuilder会提示是否覆盖文件,这里确定即可。
至此,基本配置就完成了,在STM32CubeMX中生成代码。
代码生成完成后,会提示是否打开,此时选择打开项目即可。
Keil MDK打开工程后,编译并进行调试。就可以把代码下载到开发板那种了。
运行工程,开发板上就会显示之前在GUIBuilder中添加的按钮了。 至此,GUI开发的所有底层驱动就都准备就绪了,在此基础上就可以进行各种漂亮的GUI界面开发了。 工程代码实在有点儿大,这里提供一个单独的STM32CubeMX配置文件:
STemWinDemo_ioc.zip
(8.06 KB, 下载次数: 13)
|
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
最近搞GUI 哎 我回到原始方法了 没有用系统 主要画面也简单
我一个问题没想通 我有触控笔的 我可以自己定位左边 点击触发我自己写的函数
如果用STEMIWN的话上位机可以做好鼠标去点击 我STM32也好搞么?