(HAL库学习10)SPI屏幕HAL库驱动移植(触摸部分下一篇讲),软件SPI

我这里用的是4寸SPI带触摸的TFT,但是无论什么型号的,教大家移植方法,都可以使用,先看效果

在这里插入图片描述

首先讲讲为什么讲这一节,希望大家能看完我下面这段话

http://www.lcdwiki.com 这个网址可能很多人都熟悉,这是一家做嵌入式屏幕的公司产品展示网页,我之前更新的0.96oled也是这里面的产品,现在更的是SPI驱动的TFT,这里面品类的屏幕我都会抽一个移植HAL库给大家并教大家移植方法(其实同品类的屏幕驱动原理是一样的,就是初始化写入寄存器时值不一样,由厂家提供,在给的源码里面可以看见)
然后给大家讲讲为什么要写一些屏幕的驱动以作备用呢,其实在前些年的时候这些屏幕其实是有大用的,因为那时候物联网理念还并没有完全兴起,那么嵌入式设备的人机交互就需要这些屏幕来完成,而现在呢,阿里云,onenet这些集成云端 以及 ESP32,NB-IOT,2/3/4g,还有等两年就会慢慢进入物联网行业的5G,我们的入网手段越发便宜且高效,这导致人机交互的技术要求由本身这些屏幕不可避免向前端迁移,让我们能够用web前端,手机app与微信小程序等与设备进行人机交互,但是个人认为这种嵌入式端的屏幕不可能完全消失,只是我们不需要他再完成多么好的UI,多么复杂的功能了,总有不方便的时候,比如有些老人不怎么会操作手机,有些地方网络不好等等,屏幕仍然且必要地去承担一些嵌入式方面的人机交互,况且现在的这些屏幕价格并不贵,比如这里讲到的SPI驱动的4寸带触摸屏幕也就40几块钱。

讲讲我会讲的这些移植过后用HAL库驱动的共性

我会提供给大家我移植好的工程,你们只需要按照模块函数移植的步骤去把屏幕驱动移植进去即可,而IO方面呢,这就是我们用HAL库与CubeMX将带来的巨大好处了,你只需要在CubeMX里面使能IO然后给IO打上相应的标签,生成的工程将直接把这些标签宏定义在main.h文件里,所以你实际上只需要在CubeMX上把这些IO连好标好签,工程就能直接驱动TFTLCD了,操作及其简单(但是我建议大家还是看看驱动方法)

第一步CubeMX上开启io并标签标好(标成什么名字是固定的)

在这里插入图片描述

第二步:移植驱动

驱动文件我放在文章末尾了,有一个完整的工程和一个驱动文件夹,你们其实只需要驱动文件夹就行了,完整的工程如果有一些没怎么接触过这个的可以看看,完整工程用的F411CEU6,里面有4个文件 .c .h 就是TFT SPI的驱动了,然后还有一个font.h 和 picture.h 分别里面存放的是字模和图模,取模方法我下面会讲到

第三步:取图模

在这里插入图片描述

第四步:取图模

在这里插入图片描述
这个按照上面的配置就行了,点击打开(只能开jpg,不是的就用电脑自带的画图改格式(另存为那里),不要干直接重命名把png改为jpg这种掩耳盗铃的事哈 0.0)

移植方法

你打开文件后看TFT_SPI.c里面的前几个函数,都是写数据的函数,只要搞定这几个函数其他的都没什么难的。

上文件

https://pan.baidu.com/s/1KF18Q0N5Yb3lXbKRCDBJZg 提款码:205r
应该是永久有效的哈,失效了请私聊我。这里面有驱动文件和一个完整的工程,如果没有取字模图模软件的话,随便找淘宝一款屏的资料连接都有,或者直接私聊我,我看到就会给你分享

最后

下一篇会给大家更触摸部分的代码,这样4寸SPITFT触摸屏才算弄好了,上面的还只能显示,然后这里使用的是软件SPI哈,也就是我们用IO模拟的SPI时序进行设置,所以IO你随便设置都可以的,标签标好就行了。之后我应该会给大家更另外驱动2寸SPITFT的(本身不带触摸)和1.8寸SPITFT(本身不带触摸)的,然后还会移植NFR24L01。就差不多了,至于fsmc的屏可能会讲到,但要以后了,我学校里面有但是目前手头没得,之后就是更sd卡模块之类的,然后就要开始更ESP32系列了

  • 11
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值