STM32
登录
直播中
王雪
7年用户
986经验值
私信
关注
[问答]
请教大神ili9341芯片的初始化函数该如何去实现呢
开启该帖子的消息推送
HAL
FreeRTOS
请教大神ili9341芯片的初始化函数该如何去实现呢?
回帖
(1)
蔡烁坚
2021-11-26 15:50:16
软件下载
首先去
st官网
下载好stm32cubemx,我是v5.5.0版的
打开软件选择芯片、开启时钟这些就不细说了。直接上FSMC的配置,每个人的板子不同,请根据自己板子原理图进行配置
注意看红色方框中的引脚,配置的时候需要对应
根据原理图对应选择NE4、LCD interface、A6、16bits,再把PC0引脚选择为GPIO_OUTPUT就行了。nor timing的3个参数先不设置,代码生成之后再修改。
在stm32cubemx中将crc打钩,在中间件中选择FREERTOS,将interface选择为CMSIS_V1
在stm32cubemx的project manager中将MDK-ARM选择为V5.27,将Firmware Package Name and Version选择为F4 V1.24.0。
最后点击GENERATE CODE生成代码即可。
用MDK打开生成的工程,在main.c文件中找到MX_FSMC_Init()函数,将timing的参数按如下修改:
我的TFT屏使用的是ili9341芯片,卖开发板的商家会提供驱动代码,找到代码加入到工程文件中去即可。
C:UsersAdministratorSTM32CubeRepositorySTM32Cube_FW_F4_V1.24.0MiddlewaresST 这个路径下找到STemWin文件夹,将该文件夹中的config、inc、lib、os文件夹复制到工程文件夹下,比如:
在board中放入驱动代码和emwin的应用程序,比如
这里FramewinDLG.c是我用emwin 的builder程序生成的demo代码。
在工程目录的STemWin文件夹中粘贴刚才说到的几个文件夹,比如:
lib中只留一个STemWin_CM4_OS_wc16.a文件即可,其他的删除
修改驱动文件
ili9341.h头文件
注意好这里就行了,要根据自己板子的实际情况来算,然后检查一下头文件中LCD初始化的名字,我这里是用的原子的驱动,将初始化函数改个名就行,我改成了ILI93XX_LCD_Init。然后在ili9341.c文件中将初始化函数名改成对应的,原子的初始化函数中带有FSMC的配置,因为是使用stm32cubemx来初始化开发版,那么就不需要在ILI93XX_LCD_Init中初始化FSMC了,删掉那些代码即可,这里我把PC0进行了宏定义,LCD_RESET_GPIO_Port其实就是GPIOC,LCD_RESET_Pin就是GPIO_PIN_0,按自己板子实际情况改就行了。然后在ili93xx.c文件中加入stm32f4xx.h头文件
在GUIConf.h文件中将
#define GUI_OS (1)
#define GUI_SUPPORT_TOUCH (0)
#define GUI_SUPPORT_MOUSE (0)
其他不变
在GUIConf.c 中将#define GUI_NUMBYTES (50*1024) 这样修改,(50*1024)中的50按自己需求修改即可,记得加括号
将STemWin_CM4_OS_wc16.a设置为库文件,如图:
包含一下STemWin下的文件路径还有驱动文件board的路径,比如:
我使用的是LCDConf_Flexcolor_Template.c这个文件,方式和使用Lin的不同,需要填充4个读写函数。
这2个宏是定义横竖屏的,根据自己屏的实际尺寸进行调整即可
这4个函数千万不能错。
红色方框的适用于ili9341芯片,其他芯片要看手册进行配置,这里 Config.Orientation =其实有4个宏定义,在GUI.h文件中,分别是GUI_ROTATION_0、GUI_ROTATION_CW、GUI_ROTATION_180、GUI_ROTATION_CCW,也是控制屏幕横竖、倒置显示的。
这里记得加入ili9341芯片的初始化函数,最后在LCDConf_Flexcolor_Template.c文件中加入#include "GUI.h"和#include "ili93xx.h"头文件即可。
13. 修改FramewinDLG.c文件
在文件末尾加入以下代码:
最后效果就是这样的,GUI已经开始工作了。祝大家移植成功。
如果还有人不会,那就下载我上传的代码吧,链接如下:
软件下载
首先去
st官网
下载好stm32cubemx,我是v5.5.0版的
打开软件选择芯片、开启时钟这些就不细说了。直接上FSMC的配置,每个人的板子不同,请根据自己板子原理图进行配置
注意看红色方框中的引脚,配置的时候需要对应
根据原理图对应选择NE4、LCD interface、A6、16bits,再把PC0引脚选择为GPIO_OUTPUT就行了。nor timing的3个参数先不设置,代码生成之后再修改。
在stm32cubemx中将crc打钩,在中间件中选择FREERTOS,将interface选择为CMSIS_V1
在stm32cubemx的project manager中将MDK-ARM选择为V5.27,将Firmware Package Name and Version选择为F4 V1.24.0。
最后点击GENERATE CODE生成代码即可。
用MDK打开生成的工程,在main.c文件中找到MX_FSMC_Init()函数,将timing的参数按如下修改:
我的TFT屏使用的是ili9341芯片,卖开发板的商家会提供驱动代码,找到代码加入到工程文件中去即可。
C:UsersAdministratorSTM32CubeRepositorySTM32Cube_FW_F4_V1.24.0MiddlewaresST 这个路径下找到STemWin文件夹,将该文件夹中的config、inc、lib、os文件夹复制到工程文件夹下,比如:
在board中放入驱动代码和emwin的应用程序,比如
这里FramewinDLG.c是我用emwin 的builder程序生成的demo代码。
在工程目录的STemWin文件夹中粘贴刚才说到的几个文件夹,比如:
lib中只留一个STemWin_CM4_OS_wc16.a文件即可,其他的删除
修改驱动文件
ili9341.h头文件
注意好这里就行了,要根据自己板子的实际情况来算,然后检查一下头文件中LCD初始化的名字,我这里是用的原子的驱动,将初始化函数改个名就行,我改成了ILI93XX_LCD_Init。然后在ili9341.c文件中将初始化函数名改成对应的,原子的初始化函数中带有FSMC的配置,因为是使用stm32cubemx来初始化开发版,那么就不需要在ILI93XX_LCD_Init中初始化FSMC了,删掉那些代码即可,这里我把PC0进行了宏定义,LCD_RESET_GPIO_Port其实就是GPIOC,LCD_RESET_Pin就是GPIO_PIN_0,按自己板子实际情况改就行了。然后在ili93xx.c文件中加入stm32f4xx.h头文件
在GUIConf.h文件中将
#define GUI_OS (1)
#define GUI_SUPPORT_TOUCH (0)
#define GUI_SUPPORT_MOUSE (0)
其他不变
在GUIConf.c 中将#define GUI_NUMBYTES (50*1024) 这样修改,(50*1024)中的50按自己需求修改即可,记得加括号
将STemWin_CM4_OS_wc16.a设置为库文件,如图:
包含一下STemWin下的文件路径还有驱动文件board的路径,比如:
我使用的是LCDConf_Flexcolor_Template.c这个文件,方式和使用Lin的不同,需要填充4个读写函数。
这2个宏是定义横竖屏的,根据自己屏的实际尺寸进行调整即可
这4个函数千万不能错。
红色方框的适用于ili9341芯片,其他芯片要看手册进行配置,这里 Config.Orientation =其实有4个宏定义,在GUI.h文件中,分别是GUI_ROTATION_0、GUI_ROTATION_CW、GUI_ROTATION_180、GUI_ROTATION_CCW,也是控制屏幕横竖、倒置显示的。
这里记得加入ili9341芯片的初始化函数,最后在LCDConf_Flexcolor_Template.c文件中加入#include "GUI.h"和#include "ili93xx.h"头文件即可。
13. 修改FramewinDLG.c文件
在文件末尾加入以下代码:
最后效果就是这样的,GUI已经开始工作了。祝大家移植成功。
如果还有人不会,那就下载我上传的代码吧,链接如下:
举报
更多回帖
rotate(-90deg);
回复
相关问答
HAL
FreeRTOS
stm32串口通信和
ILI9341
初始化
冲突?
2021-06-16
2443
msp430f1611驱动正点2.8寸
ili9341
的屏幕没有找到原
函数
2019-04-02
1422
f4自带的lcd驱动接口
函数
和emwin接口
函数
不兼容怎么办?
2020-08-20
1729
ili9341
透明图片显示颜色不正的解决办法有哪些?
2020-04-22
3759
nuc977的lcd寄存器配置
ili9341
如何配置?
2023-09-04
171
需要【
ILI9341
的前文件头】+【电子式计量法灌装机的代码】
2018-07-29
2137
ILI
9325
芯片
读取屏幕内容的代码是怎样的
2021-11-05
2213
ili9341
中功耗控制命令,VGH,VGL,VCI分别代表什么意思有点不懂,想向大家
请教
,我小白啊呵呵
2017-04-12
8267
使用最新的TFT_eSPI库和Nodemcu 1.0上的
ili9341
,drawBmp
函数
无法正确显示颜色的原因?
2023-02-27
192
ILI9341
芯片
驱动程序的问题
2016-03-11
9377
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分