TouchGFX学习笔记(一)

一,显示配置

1.适当增加堆栈大小

这两个参数的设置需要根据具体的应用需求和硬件资源来确定。Heap Size(堆大小)主要影响动态内存分配,如果程序中动态内存分配的需求较大,则需要设置较大的Heap Size。然而,设置过大可能会浪费RAM资源。Stack Size(栈大小)则与程序的调用深度、局部变量的大小以及中断服务程序(ISR)的堆栈需求有关。调用深度越深、局部变量越大、ISR越多,所需的Stack Size就越大。但同样,Stack Size设置过大也会浪费RAM资源‌1。

因此,在实际应用中,需要通过分析程序需求、参考经验值以及实验调试等方法来确定合适的Heap Size和Stack Size,以确保程序的正确性和稳定性,同时避免不必要的资源浪费‌。

2.适当增大缓冲大小

双重缓冲消除了任何撕裂的风险,无论渲染下一帧需要多长时间,因为TfT控制器,例如,总是可以访问最新的完整帧数据。单个缓冲可以消除对外部存储器的需求(可能会发生撕裂)。部分缓冲消除了对外部内存的需求,同时仍然允许将大部分内部内存用于framebuffer之外的事情。

如果"Number of Blocks"设置为1,这意味着TouchGFX将只分配一个内存块用于帧缓冲区。这通常适用于简单的图形界面或显示需求不高的应用场景。在这种情况下,TouchGFX将使用一个单缓冲区方案来更新和显示图形数据。

然而,如果图形界面较为复杂或需要更高的刷新率,可能需要使用双缓冲或多缓冲方案来减少屏幕撕裂和闪烁现象。在这种情况下,"Number of Blocks"参数的值将相应增加,以允许TouchGFX分配更多的内存块用于帧缓冲区。

三,硬件配置

1.开启I2C1用于连接触摸芯片,(PB6,PB7)

2.开启SPI1(Transmit Only Master)用于LCD 串行数据传输,(PB3,PB5),开启DMA

开启SPI中断用于:!!!!!!!

3.开启QSPI 4线模式用于读写W25Q64

STM32CubeMx之QSPI配置详解_stm32cubemx qspi-CSDN博客

4.开启tim6 用于:!!!!!!!!

5.Do Not Generate Function Call

相关推荐
小旭95279 分钟前
Spring Security 实现权限控制(认证 + 授权全流程)
java·后端·spring
金銀銅鐵15 分钟前
[Java] 如何通过 cglib 的 FastClass 调用一个类中的“任意”方法?
java·后端
2301_8227032022 分钟前
鸿蒙flutter三方库实战——教育与学习平台:Flutter Markdown
学习·算法·flutter·华为·harmonyos·鸿蒙
阿维的博客日记33 分钟前
为什么会增加TreeMap和TreeSet这两类,有什么核心优势吗?可以解决什么核心痛点?
java·treeset·treemap
dllxhcjla42 分钟前
黑马头条1
java
码喽7号43 分钟前
vue学习四:Axios网络请求
前端·vue.js·学习
宠友信息1 小时前
一套基于uniapp+springboot完整社区系统是如何实现的?友猫社区源码级功能解析
java·spring boot·后端·微服务·微信·uni-app
星幻元宇VR1 小时前
VR科普行走平台适用哪些科普教育主题
科技·学习·安全·vr·虚拟现实
humors2211 小时前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
无限进步_1 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio