stm32f407vet6驱动3.2寸lcd(9341 FSMC hal)
最近在钻研一些显示屏,研究到了lcd显示屏,然后入手了一块f407的开发板,但是店家给的资料有点怪,是keil4的工程,我一打开显示缺少f407vexxx,keil现在还巨慢,然后我到处找资料,发现网上大多是vgt6,又去各家vet6的店铺区找资料。折腾了几天终于把lcd点亮了,然后把标准库的代码移植到了hal库上面
开发板:
1.cubemx配置:
(1)基础配置:
没啥好说的,之间配置即可,我这里用的是stlink调试器,频率直接拉满,时钟都是外部晶振。
时钟配置
接下来是这次工程的重点FSMC的配置:
首先我们对照原理图,看一下引脚的配置
对照原理图我们可以发现,这款开发板使用的是NE1,A18,同时原理图显示上面有16个数据位,这样我们就可以对TFT的基础管脚进行配置 ,具体配置如下:
剩下的配置我们需要对照标准库的代码进行配置(可以提前用烧录标准库的代码检查一下代码是否有问题)
我们先将下面三个文件复制到自己的文件中
打开文件直接找到LCD_Init函数FSMC配置的位置
对照代码和注释 我们在cubemx上继续配置
最后我们配置一下背光端口,即LCD_BL
对照原理图我们发现是连接到了单片机的PB1引脚,简单配置一下即可
这样我们cubemx就配置的差不多了,最后来点收尾:
cubemx配置结束,生成代码
2.keil文件修改:
lcd.c:
首先开头几个头文件串口和延时可以去掉,(串口可以自己在cubemx上配置,延时直接用自带的hal_delay就行了)
然后去lcd_Init函数把FSMC配置函数全部删掉,这部已经配置好了
下图这部分也要删掉,这部分之前没在意结果显示出现问题
在它上面有个读取ID的函数,把LCD_WR_REG(0X04);改为LCD_WR_REG(0Xd3);(9341读取ID指令为0xd3)下面那个串口发送以及修改id的代码可以直接注释掉,这一部分最后修改前后对比
修改前:
修改后:
接着是下面的一些列初始代码,下图这段注释掉,改用下面原先注释掉的代码(原先注释掉的代码为9341初始化的代码)
同时注意一下这两行代码
然后修改一下背光
修改之后:
(LCD_BL_GPIO_Port是在cubemx中自定义的,也可以使用PB1来点亮)
这两段代码控制着LCD的扫描方向,我最开始显示镜像就是这里的问题,可以改成0x08,自定义的话可以看汉化的手册,虽然只有命令的解释,但也够用了
lcd.h文件中只需要把sys.h文件删除即可,接着我们可以把原来代码中类型声明全部换掉(u16这些声明是在sys.h中声明的)选中ctrl+f替换即可,特别注意的是u16不要直接替换,先替换vu16为volatile uint16_t vu32也是同理.
源代码中的延时函数:ms级延时用hal_delay,us级延时用hal_delay(1)替换.
3.验证
在main.c函数中验证
最终效果:
程序源码:
cubemx移植版 链接:https://pan.baidu.com/s/1PFkykgRxg-PBlFd-WrW3XQ?pwd=mz44
提取码:mz44
开发板商家例程:百度网盘 请输入提取码
相关文章:
![](https://i-blog.csdnimg.cn/direct/31f81ba01cd54751a1e80bcfa73d2136.jpeg)
stm32f407vet6驱动3.2寸lcd(9341 FSMC hal)
最近在钻研一些显示屏,研究到了lcd显示屏,然后入手了一块f407的开发板,但是店家给的资料有点怪,是keil4的工程,我一打开显示缺少f407vexxx,keil现在还巨慢,然后我到处找资料,发现网上大多是vgt6,又去各家ve…...
![](https://www.ngui.cc/images/no-images.jpg)
替换后的最长重复字符(LeetCode)
题目 给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。 在执行上述操作后,返回 包含相同字母的最长子字符串的长度。 解题 def characterReplacement(s, k):count {}max_len…...
![](https://www.ngui.cc/images/no-images.jpg)
[sqlserver][sql]sqlserver查询表信息和字段信息
--查询一个表中的所有字段 SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAMEzsyh_AccInfo --查询一个库下的所有表 select * from sysobjects where xtypeU --查询一个数据库下的所有字段 SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME in(select nam…...
![](https://i-blog.csdnimg.cn/direct/bf74c21495bb4127bbca2fe7a1393809.png)
easypoi模板导出word并且合并行
导出流程 引入依赖制作模板合并导出 引入依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.2</version> </dependency>制作模板 合并行是备注那一列,这一列…...
![](https://img-blog.csdnimg.cn/img_convert/f2de40223a48210978858367593d5858.png)
雨云美国二区E5v2服务器测评(非广告)
注:本文非广告,非推广 本文长期更新地址: 雨云美国二区E5v2服务器测评(非广告)-星零岁的博客https://blog.0xwl.com/13594.html 今天来测评一下雨云美国二区v2服务器。我测试的这台配置是4-8, 35 M上传&a…...
![](https://www.ngui.cc/images/no-images.jpg)
前端form表单post请求
前端请求post,以表单的形式,后端传来的str,就是url携带的参数 const form document.createElement(form); form.style.display none; form.setAttribute(target, _blank); form.setAttribute(method, post); form.setAttribute(action,url); var vars …...
![](https://i-blog.csdnimg.cn/direct/dcc7b1272a2148b696e9af047542449b.png)
oracle共享池(shared pool):一、工作原理、组成部分 二、软硬解析过程
文章目录 oracle整体结构图共享池(shared pool)shared pool的作用shared pool的组成查询 shared pool 各组成部分大小硬解析和软解析 oracle整体结构图 共享池(shared pool) shared pool的作用 1、 将 sql 语句解析成执行计划 …...
![](https://www.ngui.cc/images/no-images.jpg)
设计模式六大原则中的里氏替换原则
设计模式六大原则中的里氏替换原则(Liskov Substitution Principle, LSP)是面向对象设计中一个至关重要的原则,它定义了继承的基本原则和约束,确保子类能够透明地替换父类,而不会破坏系统的正确性和稳定性。以下是对里…...
![](https://i-blog.csdnimg.cn/direct/c1d28e3bf9c842f8bdc0a41d6290569b.png)
安装Cellpose
Cellpose是目前运用范围最广、效果最好的细胞分割模型,以下是安装方法。 3.1 安装cellpose 3.1.1 创建cellpose 打开Anaconda Navigator,如下图所示: 图3.1.1.1 Anaconda Navigator 依次点击 Environments、Create,在弹出的窗中࿰…...
![](https://img-blog.csdnimg.cn/318c638dfe04470c8e43a91fba2f5073.png)
图卷积神经网络算法
图神经网络 图卷积神经网络 GNN GCN 算法 咨询 图卷积神经网络(GCN) python D码,应用于节点分类。元学习,自监督学,transformer,lstm,cnn,bert,GAN,交通预测 …...
![](https://www.ngui.cc/images/no-images.jpg)
【C#】System.Text.Json
文章目录 主要特点使用场景基本用法序列化反序列化 自定义序列化与反序列化注意事项 System.Text.Json 是 .NET Core 3.0 及更高版本中引入的一个高性能的、低内存的 JSON 序列化与反序列化库。它是 .NET Core 和 .NET 5/6/7 等新版本中推荐的 JSON 处理方式,因为它…...
![](https://i-blog.csdnimg.cn/direct/effc29fa216b40c0a3e29243ebf296e5.png)
经典游戏,用java实现的坦克大战小游戏
今天给大家分享一个使用java编写的坦克大战小游戏,整体还是挺好玩的,通过对这款游戏的简单实现,加深对java基础的深刻理解。 一、设计思路 1.坦克大战小游戏通过java实现,其第一步需要先绘制每一关对应的地图,地图包括…...
![](https://www.ngui.cc/images/no-images.jpg)
linux开通端口命令
这块需要开通8088 8083 端口限制 查看已开放端口:sudo firewall-cmd --list-ports 开放8083端口:sudo firewall-cmd --add-port8088/tcp --permanent 开放8088端口:sudo firewall-cmd --add-port8083/tcp --permanent 移除端…...
![](https://img-blog.csdnimg.cn/img_convert/3e1b5e3c9078e8470242bdfc3d608de0.png)
5、并发锁机制之synchronized
并发锁机制之synchronized i/i--引起的线程安全问题分析原因分析i的JVM字节码指令i--的JVM 字节码指令结论 解决方案 synchronized的使用加锁方式使用synchronized解决之前的共享问题方式一方式二 synchronized底层实现原理分析查看synchronized的字节码指令序列重量级锁实现之…...
![](https://www.ngui.cc/images/no-images.jpg)
职场那些事:应对施暴者的智慧
在职场中,有些人用各种手段让你感到难受,让你屈服,甚至适应他们的变态心理。面对这种人,最重要的就是保持低调。🤐 很多同事选择倾诉,然而这其实是个大错特错。正如鲁迅所说,“同事间的悲欢并不…...
![](https://img-blog.csdnimg.cn/direct/0eed9aa32af4480691ccf310f5a6aa0a.png)
精细化管理和智慧化运营的智慧油站开源了。
AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用…...
![](https://i-blog.csdnimg.cn/direct/3355c8f744f44e45a31eb78317e98805.png)
vue项目配置基础路由vue-router
1、运行以下命令安装vue-router yarn add vue-router 2、在src目录下的components中新建两个vue页面 3、在src目录下新建router文件夹,在router文件夹下面新建index.js文件 4、配置main.js文件 //引入Vue import Vue from "vue"; //引入App import App…...
![](https://i-blog.csdnimg.cn/direct/5165e7c5d3a64e7c8e40f852ca16a6d0.jpeg)
2024年入职/转行网络安全,该如何规划?_网络安全职业规划
前言 前段时间,知名机构麦可思研究院发布了 《2022年中国本科生就业报告》,其中详细列出近五年的本科绿牌专业,其中,信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景,想必无需我多言,作为…...
![](https://img-blog.csdnimg.cn/img_convert/a08571f736dc04b5bef51cd09e8e3a0a.gif#pic_center)
【Python系列】执行 Shell 命令的六种方法
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
![](https://www.ngui.cc/images/no-images.jpg)
2024华为OD机试真题-部门人力分配Python-C卷D卷-200分
【华为OD机试】-(C卷+D卷)-2024最新真题目录 目录 题目描述 输入描述 输出描述 用例1 考点 解题思路 代码 题目描述 部门在进行需求开发时需要进行人力安排。 当前部门需要完成 N 个需求,需求用 requirements 表述,requirements[i] 表示第 i 个需求的工作量大小,单…...
![](https://www.ngui.cc/images/no-images.jpg)
【Leetcode 1436 】旅行终点站—— 哈希表
给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。 题目数据保证线路图会形成一…...
![](https://www.ngui.cc/images/no-images.jpg)
springboot自动配置原理-面试题
网络上看很多文章并没什么用,重点没说到,不知道从那里入手讲,刷到的直接按照下面这个,背出来就行了 1、当启动springboot应用程序的时候,会先创建SpringApplication的对象,在对象的构造方法中会进行某些参数…...
![](https://i-blog.csdnimg.cn/direct/fcdf2625006c43e1930579d0676bce39.png)
【C++题解】1140 - 亲密数对
欢迎关注本专栏《C从零基础到信奥赛入门级(CSP-J)》 问题:1140 - 亲密数对 类型:自定义函数 题目描述: 键盘输入 N ,N 在 2 至 2000 之间,求 2 至 N 中的亲密数对,就是 A 的因子和…...
![](https://i-blog.csdnimg.cn/direct/f27b63837402461eb61f33fd93cb9a8d.png)
学习大数据DAY40 基于 hive 的数据处理
目录 Hive 复合数据定义方法 Hive 复合数据查询方法 hive 内置函数 上机练习 Hive 复合数据定义方法 Hive 复合数据查询方法 hive 内置函数 -- 查看系统自带的函数 show functions; -- 显示自带的函数的用法 desc function upper; -- 详细显示自带的函数的用法 desc …...
![](https://i-blog.csdnimg.cn/direct/af7d879e600249dfb8bf4f93f807e543.png)
[数据集][目标检测]手钳检测数据集VOC+YOLO格式141张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):141 标注数量(xml文件个数):141 标注数量(txt文件个数):141 标注类别…...
![](https://i-blog.csdnimg.cn/direct/d98f69485db64366b2ac639045d8d7e7.png)
SQL注入(head、报错、盲注)
目录 【学习目标、重难点知识】 【学习目标】 【重难点知识】 1. 报错注入 1.1 那么什么是报错注入呢? 1.2 报错注入原理 extractvalue函数 updatexml函数 1.3 靶场解析 靶场练习 2. HEAD注入 2.1 相关全局变量 2.2 靶场解析 burp暴力破解 靶场练习 3…...
![](https://www.ngui.cc/images/no-images.jpg)
30. 包含 min 函数的栈
comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9830.%20%E5%8C%85%E5%90%ABmin%E5%87%BD%E6%95%B0%E7%9A%84%E6%A0%88/README.md 面试题 30. 包含 min 函数的栈 题目描述 定义栈的数据结构ÿ…...
![](https://www.ngui.cc/images/no-images.jpg)
五、OpenTK图形渲染基础
文章目录 一、顶点数据(一)顶点坐标、颜色、纹理坐标的定义(二)顶点数组的组织二、图元绘制(一)点列表、线列表、线带、三角形列表、三角形带的绘制(二)绘制模式(GL_POINTS、GL_LINES、GL_TRIANGLES 等)三、清除屏幕一、顶点数据 (一)顶点坐标、颜色、纹理坐标的定…...
![](https://img-blog.csdnimg.cn/img_convert/40e2061c1764b82dfede63b2649aba5e.jpeg)
桔子哥/基于云快充协议1.5版本的充电桩系统软件-充电桩系统 -新能源车充电平台源码
基于云快充协议1.5版本的充电桩系统软件 介绍 SpringBoot 框架,充电桩平台充电桩系统充电平台充电桩互联互通协议云快充协议1.5-1.6协议新能源汽车二轮车公交车二轮车充电-四轮车充电充电源代码充电平台源码Java源码 软件功能 小程序端:城市切换、附…...
![](https://i-blog.csdnimg.cn/direct/6663e082d68946eebb203090684bd61a.png)
零基础5分钟上手亚马逊云科技-高可用Web系统设计最佳实践
简介: 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列,适用于任何无云计算或者亚马逊云科技技术背景的开发者,通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我会每天介绍一个基于亚马逊云科技…...
![](https://img-blog.csdnimg.cn/img_convert/4788238c07cd1e60d3d4d3f40abd25e2.png)
wap蓝天建站/目前小说网站排名
介绍: Clipore可以自动记录你的剪贴数据,办公,经常复制文本或常忘记之前复制了些啥的推荐使用! 除了记录剪贴数据还有一些有用的功能提供使用哦! 1.当你复制文本时自动记录所复制的文本,在软件中双击记录…...
![](/images/no-images.jpg)
建筑工程网 装修/seo简介
本文已迁移至:https://blog.csdn.net/COCO56/article/details/100041476...
![](/images/no-images.jpg)
建设一个班级网站的具体步骤/外链工厂
阅读使人充实,会谈使人敏捷,写作使人精确。——培根Linux 系统管理员试卷样题(中级)一、选择题:1、linux 操作系统内核创始人是( )A. Bill GatesB. Richard StallmanC. Linus TorvaldsD. Dennis M Ritchie 、Ken Thompson2、在linux 中有关I…...
![](https://img-blog.csdnimg.cn/c9aef002490e432d8b01f1493cd40a93.png)
厦门网站建设咨询/内容营销策略有哪些
文章目录1 Git Dos窗口中操作1.1 首先在码云上新建一个项目,如下图所示1.2 在本地新建或选择一个文件夹1.3 进入新建或选择的文件夹,鼠标右键选择git bash here,弹出dos窗口1.4 在弹出dos窗口登录仓库地址1.5 继续在窗口输入 git init1.6 继续…...
![](/images/no-images.jpg)
个人做的卖货网站/百度公司在哪
Android• 李魔佛 发表了文章 • 7 个评论 • 8642 次浏览 • 2017-12-12 00:24• 来自相关话题因为最近经常弹出一个OTA的更新包,以前一直都是对这些更新不感冒,通常都是直接忽略的。 但是看到这一个版本好像修复了不少的bugs,想着升级一次把…...
![](/images/no-images.jpg)
北京专业建设/优化推广服务
一 搭建篇yum install -y subversionsvnserve --version二 创建项目仓库mkdir /var/svncd /var/svnsvnadmin create /var/svn/[项目名]三 配置项目仓库cd /var/svn/[项目名]/conf1.修改综合配置vi svnserve.conf//找到以下配置项,将前面的#号去掉,然后做…...