cubemx移植野火ili9341触摸画板笔记

太阳下的楼 太阳下的楼     2023-02-06     448

关键词:

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

前言

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

前期准备

CubeMX配置

1.配置系统时钟如图:

2.配置Debug如图:

3.工程设置如图:
4.最后点击生成工程文件

移植

1.移植的文件有如图:

然后添加到创建的工程中

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

代码调试

调试时遇到了很多问题,相同类似的问题不重复写
1.移植过去的bsp无法索引和打开如图:

解决方法:
点击目标选项在其中添加bsp头文件索引如图:


还是索引不到的话就更改一下头文件名如图:

2.删除两个HAL库文件,原因不明如图:

3.最关键的一点,由于在用CubeMX生成工程时没有配置任何外设包括ILI9341。所以有些关键宏定义缺失导致在stm32f1xx_hal_conf.h中无法打开
stm32f1xx_hal_sram.h和stm32f1xx_hal_spi.h如图:


解决方法:
目标选项中直接添加如图:

值得注意的是每个宏定义间的分隔符是逗号“,” 不是点“.”!!!不要问我怎么知道的。。。
最后放一个效果图

感言

然而。。。等我移植完后发现并没有啥用处,因为虽然方便了往后用CubeMX往工程添加外设,但是由于原工程没有配置任何外设所以往后添加外设时容易发生引脚冲突。同时此项目实用性也不大,我应该更多的去修改野火的bsp包的内容。这样在往后要使用触摸画板功能时,只用移植我修改的bsp到CubeMX创建的工程中就可以实现功能方便快捷。找个时间重新移植。。。
但也不是毫无用处至少移植方面我的经验还是很欠缺的,当然能帮到阅读后的你我更是开心,最后欢迎指正,生活愉快。

末尾附上完整工程自取
ILI9341
取货码:5r01

esp32-lvgl-(st7789/ili9341)(基于esp-idf框架)(代码片段)

文章目录lvgl简介效果演示准备的硬件环境->esp-idf(vscode上面开发)工程准备ILI9341配置LVGLConfigurationLVGLTFTDisplaycontrollerLVGLTouchcontrollerst7789(1.14寸配置)LVGLConfigurationLVGLTFTDisplaycontroller效果lv_ex_demo_music的相关配置触摸设 查看详情

ili9341液晶lcd彩色显示原理

首先我们要知道什么是LCD屏:LCD(LiquidCrystalDisplay的简称)液晶显示器。经常会听到液晶电视,液晶显示屏,那么到底什么是液晶呢?LCD发光原理首先要知道:液晶:液晶是液态晶体,是一种几乎透... 查看详情

3.2寸tft液晶屏模块-ili9341有啥特点

...又有塑料基板-TFT显示屏。 参考技术B寸TFT液晶屏模块-ILI9341【电子设计吧】_百度贴吧智能小程序2.8寸TFT液晶屏模块-ILI9341只看楼主收藏回复青锋断尘love中级粉丝2青锋断尘love中级粉丝2... 参考技术CG友啦YY0呢就这样了 查看详情

液晶显示原理与ili9341的使用(代码片段)

转载自金沙滩工作室《https://mp.weixin.qq.com/s/JME3VArPETgPjD0n_cHKNQ》液晶显示原理  TFT-LCD(ThinFilmTransistorLiquidCrystalDisplay)即薄膜晶体管液晶显示器,是微电子技术与液晶显示器技术巧妙结合的的一种技术。  CRT显示器的工作原... 查看详情

freertosfreertos学习笔记—使用stm32cubemx对f407zgt6移植freertos(cmsisapi)(代码片段)

...代码就是使用的是FreeRTOS的原生API接口,如果使用STM32CubeMX来配置工程就是使用的CMSISAPI接口,是对FreeRTOS的原生API接口进行了封装。为什么学习CMSIS的RTOS接口?目前使用的是FreeRTOS,我们可以直接介绍FreeRTOS的原生接口(... 查看详情

esp32+st7789/ili9341运行lvgl例程,依赖esp-idf编译lv_port_esp32官方demo(代码片段)

...然想在ESP32上运行LVGL看看。刚开始还以为需要自己手动去移植LVGL内核、屏幕驱动、触摸驱动,直到翻了翻了Github发现竟然有配套ESP-IDFSDK的Demo,并且已经包含了众多液晶和触摸IC驱。动。。。。。。淦!那我之前还费... 查看详情

您好,想请教您一个问题,我现在用驱动芯片ili9341的lcd,2.4寸

采用MCU接口和ARM芯片连接,WR,RD,CS,RS信号都是通过IO模拟的,16根数据线也是IO模拟的,用IO模拟可以正常控制,但是显示速率有些慢,现在想问问能不能用Linux下的frembuffer机制来操作LCD,但是不知道MCU的这种结构怎么使用,因为MC... 查看详情

单片机控制tft液晶,液晶驱动为ili9341,请教各位大神如何实现动画显示且屏幕不闪烁?

...省数据载入缓冲的时间,消除闪烁.追问两个缓冲?好像ILI9341驱动内与像素点对应的GRAM只有一个,单片机写GRAM就直接显示出来了,没办法控制液晶在写好GRAM以后再显示到屏幕上,所以总会有闪烁,如果能控制按自己的要求才把GRA... 查看详情

[长文干货]micropython移植到野火stm32f429开发板(代码片段)

最近通过参考网上的文章,成功将MicroPython移植到野火STM32F429开发板上,给大家分享一下自己的移植过程,可以作为STM32系列移植MicroPY的参考。1.移植前准备工作实验环境:WIN1064位+VmwareWorkstation虚拟机软件+Ub... 查看详情

esp32+st7789/ili9341运行lvgl例程,依赖esp-idf编译lv_port_esp32官方demo(代码片段)

  LVGL是一个C语言编写的免费的开源图形库,其提供了用于嵌入式GUI的各种元素。用户可以利用丰富的图形库资源,在消耗极低内存的情况下构建视觉效果丰富多彩的GUI。只需64kB闪存和8kBRAM就足以满足简单的用户界面... 查看详情

stm32学习笔记(cubemx配hal)(第六天:前面内容的一个综合训练)(代码片段)

现在我们再网上找了一个小小的例子。我们可以综合做一下:首先:上电后LED1和LED2点亮,然后熄灭,高电平点亮(根据开发板电路来进行设定,比如野火的开发板就是低电平点亮的。)之后,上电... 查看详情

ili9341液晶lcd彩色显示原理

首先我们要知道什么是LCD屏:LCD(LiquidCrystalDisplay的简称)液晶显示器。经常会听到液晶电视,液晶显示屏,那么到底什么是液晶呢?LCD发光原理首先要知道:液晶:液晶是液态晶体,是一种几乎透... 查看详情

stm32cubemx移植mpu6050的dmp库读取角度信息(代码片段)

文章目录5分钟使用CubeMX移植MPU6050的DMP库读取角度信息(超简单)一、准备工作1.硬件平台2.软件平台3.MPU6050原理图二、操作步骤1.CubeMX配置硬件IIC、串口(用于调试)生成代码2.导入DMP库3.调用API4.程序下载,观... 查看详情

解决将龙邱oled库移植到野火工程里,oled汉字无法显示问题

第一,检查oled是否和单片机控制引脚正确相连。GNDVCCCLK:时钟信号misoRST:DC:DATECOMMAND/CONTROLCS:CHIPSELECT第二,检查工程里是否有要显示的字的字库。第三,如果程序编译正确,英文、字符等也显示正常,唯独中文汉字不能显示,那么... 查看详情

stm32cubemx学习笔记(38)——fsmc接口使用(tft-lcd屏显示)(代码片段)

一、TFT-LCD简介TFT-LCD(ThinFilmTransistor-LiquidCrystalDisplay)即薄膜晶体管液晶显示器。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服... 查看详情

stm32cubemx上移植自己的printf()和scanf()函数

要想printf()和scanf()函数工作,我们需要把printf()和scanf()重新定向到串口中。重定向是指用户可以自己重写C的库函数,当连接器检查到用户编写了与C库函数相同名字的函数时,优先采用用户编写的函数,这样用户就可以实现对库... 查看详情

一个画板demo(代码片段)

...awakefromnib方法里添加。画板的效果是能够识别在屏幕上的触摸点来画线,因此要获得屏幕上的触摸点。有两种方法,一种是在-(void)touchesMoved:(NSSet<UITouch*>*)toucheswithEvent方法里面获取触摸点(大概这样子)1-(void)touchesMoved:(NSSet<... 查看详情

野火ov7725学习笔记(fifo)

AL422B-FIFO简介STM32F4系列的控制器主频高、一般会扩展外部SRAM、SDRAM等存储器,且具有DCMI外设,可以直接根据VGA时序接收并存储摄像头输出的图像数据;而STM32F1系列的控制器一般主频较低、为节省成本可能不扩展SRAM存储器,而且... 查看详情