CubeMX移植野火ILI9341触摸画板笔记

本文记录了使用CubeMX移植野火STM32 HAL库开发实战指南中的触摸画板案例到新工程的过程。通过CubeMX配置系统时钟、Debug和工程设置,然后将bsp文件移植到新工程并解决头文件索引、HAL库缺失及宏定义问题。虽然最终发现移植的实用性有限,但作者认为移植经验仍有价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CubeMX移植野火ILI9341触摸画板笔记

前言

本次移植使用CubeMX和Keil5,大致流程为用CubeMX生成一个工程文件不配置任何外设,其后将野火《STM32 HAL库开发实战指南》教程中第29个案例触摸画板的相关bsp取出,移植到刚用CubeMX创建的工程中。

前期准备

CubeMX配置

1.配置系统时钟如图:
时钟配置
2.配置Debug如图:
Debug
3.工程设置如图:在这里插入图片描述
4.最后点击生成工程文件

移植

1.移植的文件有如图:
移植文件
然后添加到创建的工程中
在这里插入图片描述

2.在刚生成的工程中HAL库是没有添加全的需要自己手动添加

代码调试

调试时遇到了很多问题,相同类似的问题不重

### STM32CubeMX SPI 配置 ILI9341 显示屏教程 #### 使用STM32CubeMX配置SPI接口以驱动ILI9341显示屏的过程如下: #### 创建新工程并选择MCU 在STM32CubeMX软件中创建一个新的工程项目,选择合适的STM32微控制器型号。 #### 配置时钟树 调整系统的时钟频率至所需值,确保满足ILI9341刷新率的要求[^2]。 #### 设置SPI外设参数 - **模式**: 主模式 (Master Mode) - **方向**: 单向全双工 (Full-Duplex Unidirectional) - **数据大小**: 8位 (Data Size = 8-bit) - **极性和相位**: CPOL=0, CPHA=0 或者根据具体硬件需求设定 - **NSS管理方式**: 软件(Software),即由程序控制片选信号线的状态变化 - **波特率预分频系数(Baud Rate Prescaler)**: 根据实际应用情况选取适当数值;一般情况下可以先尝试默认选项再做优化测试 - 同时勾选`Enable DMA Request`以便后续能够更高效地传输大量图像数据到LCD缓存区[^5] #### GPIO引脚分配 确认所有与TFT模块连接的相关GPIO端口均已正确定义好其功能角色,比如MOSI、SCK、CS(Chip Select)、DC(Data/Command select)以及RST(Reset)[^3]。 #### 中断和服务例程 对于简单的绘图操作可能不需要额外开启IRQ中断服务函数,但如果涉及到触摸事件处理或者其他实时响应机制,则需进一步规划相应的ISR逻辑结构[^1]。 #### 生成代码框架 完成上述各项设置之后点击GENERATE CODE按钮让工具自动生成初始化源码片段供下一步编程调试使用。 ```c // 示例:初始化SPI通信并发送命令给ILI9341 void ILI9341_SPI_SendCmd(uint8_t cmd){ HAL_GPIO_WritePin(DC_PORT, DC_PIN, GPIO_PIN_RESET); // Command mode HAL_GPIO_WritePin(CS_PORT, CS_PIN, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi1,&cmd,sizeof(cmd),HAL_MAX_DELAY); HAL_GPIO_WritePin(CS_PORT, CS_PIN, GPIO_PIN_SET); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值