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

相关推荐
2301_796512521 分钟前
Rust编程学习 - 如何利用代数类型系统做错误处理的另外一大好处是可组合性(composability)
java·学习·rust
清水22 分钟前
Spring Boot企业级开发入门
java·spring boot·后端
koo36424 分钟前
李宏毅机器学习笔记43
人工智能·笔记·机器学习
一个不称职的程序猿31 分钟前
高并发场景下的缓存利器
java·缓存
2301_801252221 小时前
Tomcat的基本使用作用
java·tomcat
lkbhua莱克瓦241 小时前
Java基础——常用算法3
java·数据结构·笔记·算法·github·排序算法·学习方法
麦麦鸡腿堡1 小时前
Java_TreeSet与TreeMap源码解读
java·开发语言
做一道光1 小时前
6、foc控制——IF控制
笔记·单片机·嵌入式硬件·电机控制
moringlightyn1 小时前
进度条+ 基础开发工具----版本控制器git 调试器gdb/cgdb
笔记·git·其他·c·调试器·gdb/cgdb·进度条 倒计时
snakecy1 小时前
系统架构设计师学习大纲目录
学习·系统架构