。
。
如果生成的代码文件中存在类似XXX CODE BEGIN 和XXX CODE END注释包裹的代码块。则所有自行编写的代码,都必须放置在这些代码块中。否则下次点击CubeMX的生成代码按钮时,代码块以外的内容会被删除。完成后,将开发板通过ST-Link连接至电脑,点击“运行”按钮。 首次运行会弹出运行配置对话框,保持所有选项默认,直接OK确认即可。如果一切配置都正确,则程序会下载至开发板运行,液晶屏此时也应该按照预期显示颜色;如果存在错误,请根据错误提示检查,直至液晶屏可以正常工作。五、为项目添加TouchGFX软件包(2步)通过此章节,我们会将TouchGFX软件包添加至我们刚刚创建的项目,并创建一个最基本的用户界面。1.添加TouchGFX软件包切换回CubeMX,选择Select Components。 选择TouchGFX,然后点击OK。 在左侧的Software Packs中选择TouchGFX,在右侧勾选Graphics Application启用TouchGFX功能。2.配置TouchGFX的基本参数按照图中的说明设置参数,其中的参数的具体功能为:1、 显示接口的类型,选择LTDC即可;2、颜色格式,根据实际情况选择,推荐RGB565;3、TouchGFX的帧缓存策略,此处使用单缓冲即可,暂时不使用双缓冲和部分缓冲;4、设置缓冲区地址为by address,即固定的缓冲区地址;5、在SDRAM的LTDC framebuffer之外的空间选择一处空间分配给TouchGFX的帧缓存。需要注意,可用空间必须大于等于LTDC帧缓冲的大小,并且四字节对齐;6、TouchGFX的时钟源,选择LTDC即可;7、硬件加速器,如果你选择的MCU有DMA2D,选择即可(如果之前的项目配置中,未启用DMA2D,则需要先配置启用DMA2D);8、在本教程中,我们暂时不使用OS。 然后我们还有几个关键的功能需要开启,第一个是硬件CRC校验; 第二个是中断管理中的DMA2D和LTDC中断必须开启。 全部设计完成后,我们再次点击“GENERATE CODE”生成代码,生成代码完成后,选择Open Folder。六、设计界面 进入TouchGFX文件夹,双击运行后缀名为touchgfx.part的文件。 此时,TouchGFX Designer会自动启动。 然后会进入设计器主界面。 我们点击 Add Widgets,随意添加几个控件。 然后点击右上角的 Generate Code,等待代码生成结束。七、运行代码 代码生成完毕后回到STM32CubeIDE,在右边的工程上点击右键,选择刷新。 然后依然点击运行。 一切正常的话,我们应该可以看到液晶屏上出现了我们刚刚放置的小部件。 至此,我们已经成功完成了TouchGFX的移植。八、添加触摸支持接下来,我们要为TouchGFX添加触摸支持。触摸“支持”需要通过常规的方法,根据你的“开发板”和“液晶屏”的具体“硬件编写”或者“移植触摸屏”驱动。编写完成后,我们在左侧项目管理器中打开:STM32TouchController.cpp。在打开的代码文件的init函数中,添加触屏的初始化代码。然后在sampleTouch函数中添加读取触屏的代码,典型的代码应该如下。完成代码的编写后,点击运行。将程序下载至开发板。此时点击按钮之类的控件。如果可以看到按压动画,则标志触摸屏支持移植完成。九、移植官方的Demo要想学习一个软件库,最好的方法就是参考官方的Demo。在本章中,我们将移植一个官方的Demo至我们的项目。导入官方Demo并运行 我们回到TouchGFXDesigner,点击Edit 选择Import。然后在弹出的对话框中,根据你的液晶屏分辨率,选择一个合适的Example或者Demo。点击感叹号可以查看此Demo适合的屏幕分辨率:此处选择的是分辨率240x320的Demo。根据分辨率选择你感兴趣的、合适的Demo。点击Import,将Demo导入自己的项目中。注意。
。
。
请不要选择过于复杂的Demo。这些Demo通常会因为携带大量的媒体文件,导致片内Flash无法存储,需要外部储存器映射。此处因为笔者的显示屏分辨率是320x240,而Demo的分辨率是240x320。所以需要配置一下屏幕旋转。如果你也需要使用此功能,请在Config中设置。 回到设计器界面,确认配置无误后,依然点击GenerateCode 按钮生成代码。切回STM32CubeIDE;刷新项目后开始运行项目;将代码下载到开发板中。如果没有错误的话,Demo就可以正常运行了。结语至此我们成功地在自己的开发板上运行了TouchGFX,本教程结束。感谢大家的阅读,如果有什么问题、建议或者发现了教程中的错误,可以直接在评论区提出。我会尽快响应。请不要发送私信,因为公开的技术讨论才能帮助所有人。如果你还想继续深入地研究TouchGFX的运行机理,开发自己的TouchGFX应用,请参考TouchGFX的官方文档:TouchGFX Documentation
(图片来源网络,侵删)
0 评论