当前位置: 首页 > news >正文

STM32 HAL库开发——入门篇(3):OLED、LCD

源自正点原子视频教程:

【正点原子】手把手教你学STM32 HAL库开发全集【真人出镜】STM32入门教学视频教程 单片机 嵌入式_哔哩哔哩_bilibili

一、OLED

二、内存保护(MPU)实验

2.1 内存保护单元 

三、LCD

3.1 显示屏分类

3.2 LCD简介

 

3.3 LCD驱动原理

 

 

3.4 LCD驱动芯片

读ID时,两个芯片不一样,ILI9341是0XD3,ST7789是0X04

 

有 8 种扫描方向

可以支持只发一个起始坐标,前提是初始化之后就要完整的设置一下

return 的移位操作,最后结果就是把r,g,b的值按 565 的位数地址分别存到3个变量中

代码第二行的 g=,应该是 r=

 

3.5 LCD基本驱动实现

 

3.6 编程实战1

3.7 FSMC

3.7.1 FSMC简介

3.7.2 FSMC框图介绍 

HADDR总线可以理解为AHB总线 

3.7.3 FSMC时序介绍

不反转就没有边沿 

       通过ADDSET和DATAST两个参数可以设置FSMC的时间,这个时间看8080时序,即看芯片的要求 

       FSMC产生的时序,要满足下图所示一些的时间要求 

3.7.4 FSMC地址映射

为什么是26根地址线,2^26Byte = 64M Byte,F有4位 

选择16位的数据宽度,会存在一个地址偏移,HADDR地址 addr0 = FSMC地址 addr1 * 2 

3.7.5 FSMC相关寄存器介绍

3.7.6 FSMC相关HAL库函数 

 

 

3.7.8 编程实战2

 

四、触摸屏

4.1 触摸屏介绍

 

4.2 触摸屏原理介绍

按下时,电流被手指分走,电流减小 

4.3 触摸IC介绍

电阻屏: 

p161 35:20 介绍电容屏

4.4 触摸屏驱动步骤 

4.5 编程实战 

电阻屏是获取 ad值再转化成坐标值,电容屏是直接获取坐标值

相关文章:

STM32 HAL库开发——入门篇(3):OLED、LCD

源自正点原子视频教程: 【正点原子】手把手教你学STM32 HAL库开发全集【真人出镜】STM32入门教学视频教程 单片机 嵌入式_哔哩哔哩_bilibili 一、OLED 二、内存保护(MPU)实验 2.1 内存保护单元 三、LCD 3.1 显示屏分类 3.2 LCD简介 3.3 LCD…...

在Linux中查找文件命令的几种方法

要在Linux中查找文件&#xff0c;可以使用以下几种不同的实现方法&#xff1a; 1. 使用find命令&#xff1a; find <搜索路径> <搜索选项> <搜索条件><搜索路径>&#xff1a;表示要搜索的起始路径&#xff0c;可以是一个具体的目录路径&#xff0c;也…...

【TB作品】MSP430F5529 单片机,温度控制系统,DS18B20,使用MSP430实现的智能温度控制系统

作品功能 这个智能温度控制系统基于MSP430单片机设计&#xff0c;能够实时监测环境温度并根据预设的温度报警值自动调节风扇和加热片的工作状态。主要功能包括&#xff1a; 实时显示当前温度。通过OLED屏幕显示温度报警值。通过按键设置温度报警值。实际温度超过报警值时&…...

立创小tips

立创小tips 原理图中 1-修改图纸属性 保存完&#xff0c;绘制原理图的界面就出现了&#xff0c;然后我们鼠标点击原理图的边缘变成红色就可以高边表格的属性了。 2-鼠标右键可以移动整个原理图 3-查看封装 点击任意一个元器件&#xff0c;在右侧就会显示封装属性&#xff…...

Html/HTML5常用标签的学习

课程目标 项目实战&#xff0c;肯定就需要静态网页。朝着做项目方式去学习静态网页。 01、编写第一个html工程结构化 cssjsimages/imgindex.html 归档存储和结构清晰就可以。 02、HTML标签分类 认知&#xff1a;标签为什么要分类&#xff0c;原因因为&#xff1a;分门别类…...

Tomcat 配置:一文掌握所有要点

引言 Apache Tomcat 是一个流行的开源 Java Servlet 容器和 Web 服务器&#xff0c;广泛用于开发和部署 Java Web 应用程序。正确配置 Tomcat 是确保其性能、安全性和稳定性的关键。本文将详细介绍 Tomcat 的各项配置&#xff0c;帮助您优化和管理 Tomcat 服务器。 一、Tomca…...

git 大文件上传失败 Please remove the file from history and try again.

根据提示执行命令 --- 查找到当前文件 git rev-list --objects --all | grep b24e74b34e7d482e2bc687e017c8ab28cd1d24b6git filter-branch --tree-filter rm -f 文件名 --tag-name-filter cat -- --all git push origin --tags --force git push origin --all --force...

骑砍2霸主MOD开发(14)-进击的巨人

一.巨人 sbyte boneIndex Skeleton.GetBoneIndexFromName(Mission.MainAgent.AgentVisuals.GetSkeleton().GetName(), "r_hand"); cp Mission.MainAgent.AgentVisuals.AddPrefabToAgentVisualBoneByRealBoneIndex("p_sword_a", boneIndex); float agent…...

Android 可拖拽的View,限制在父布局中随意拖拽;拖拽结束后可左右吸边;

实现方法一&#xff1a;自定义View 可随意拖动拖拽的View&#xff0c;限制拖动范围是父布局中&#xff1b; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.view.ViewGroup; …...

逐步更新动画混合参数(Blend)使其平滑地过渡到目标值

1.具体实现 逐步更新一个动画混合参数&#xff08;Blend&#xff09;&#xff0c;使其平滑地过渡到目标值&#xff0c;可以实现角色动作的平滑过渡&#xff0c;比如从走路过渡到跑步。 private float currentBleng;private float targetBlend;public float accelerSpeed 5;//…...

【多模态/CV】图像数据增强数据分析和处理

note 多模态大模型训练前&#xff0c;图片数据处理的常见操作&#xff1a;分辨率调整、网格畸变、水平翻转、分辨率调整、随机crop、换颜色、多张图片拼接、相似图片检测并去重等 一、分辨率调整 from PIL import Image def resize_image(original_image_path, save_image_p…...

代码随想录——修建二叉搜素树(Leetcode669)

题目链接 递归 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …...

EasyExcel导出多个sheet封装

导出多个sheet 在需求中&#xff0c;会有需要导出多种sheet的情况&#xff0c;那么这里使用easyexcel进行整合 步骤 1、导入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><d…...

【Python错误】:AttributeError: ‘generator‘ object has no attribute ‘next‘解决办法

【Python错误】&#xff1a;AttributeError: ‘generator’ object has no attribute next’解决办法 在Python中&#xff0c;生成器是一种使用yield语句的特殊迭代器&#xff0c;它允许你在函数中产生一个值序列&#xff0c;而无需一次性创建并返回整个列表。然而&#xff0c;…...

如何配置Feign以实现服务调试

1、引入依赖 在项目中&#xff0c;需要引入Spring Cloud OpenFeign的依赖。这通常是通过在pom.xml文件中添加相应的Maven依赖来完成的。例如&#xff1a; <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starte…...

pc之间的相互通信详解

如图&#xff0c;实现两台pc之间的相互通信 1.pc1和pc2之间如何进行通讯。 2.pc有mac和ip&#xff0c;首先pc1需要向sw1发送广播&#xff0c;sw1查询mac地址表&#xff0c;向router发送广播&#xff0c;router不接受广播&#xff0c;router的每个接口都有ip和mac&#xff0c;…...

Mongodb中字段的删除

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第61篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。 本篇文章&#xff0c;探讨UPDATE中的操作符$unset。Mongodb数据插入后&#xff0c;开发人员使用$u…...

TP8 PHP 动态变量调用 (new $class())->$action($data)

动态&#xff1a; $class \app\table\model\Log; $action DataSave; $data [...]; // 假设这是你要保存的数据//class_exists和method_exists的检查&#xff0c;这段代码能够在尝试实例化类或调用方法之前&#xff0c;先验证类是否存在以及该类中是否存在指定的方法。如果类…...

理解JVM内存模型与Java内存模型(JMM)

理解JVM内存模型与Java内存模型&#xff08;JMM&#xff09; 在Java程序的运行过程中&#xff0c;内存管理和线程的同步是两个重要的概念。本文将深入探讨JVM内存模型&#xff08;Java Virtual Machine Memory Model&#xff09;和JMM&#xff08;Java Memory Model&#xff0…...

鸿蒙OS初识

学习官网&#xff1a;https://www.harmonyos.com/cn/develop 准备 注册&#xff0c;安装软件&#xff08;node:12, DevEco Studio&#xff09;&#xff1a; https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_install-0000001053582415#ZH-CN_TOP…...

发布自己的 npm 插件包:步骤与最佳实践

在 Node.js 的生态系统中&#xff0c;npm&#xff08;Node Package Manager&#xff09;是一个不可或缺的组成部分。npm 允许开发者创建、共享和使用各种库和插件。如果你有自己的 Node.js 插件或库&#xff0c;并且希望与全世界的其他开发者共享&#xff0c;那么发布到 npm 是…...

BubbleML: A Multiphase Multiphysics Dataset and Benchmarks for Machine Learning

我们使用以下六个分类标准: 研究方法: 这个标准根据如何收集和分析数据来区分研究方法。 实验研究,如参考文献[64]中的研究,涉及在受控环境中研究人员操纵变量并观察结果的物理实验。这种方法对于收集真实世界的数据很有价值,但可能成本高且耗时。模拟研究利用计算模型来模…...

vscode+latex设置跳转快捷键

安装参考 https://blog.csdn.net/Hacker_MAI/article/details/130334821 设置默认recipe ctrl P 打开设置&#xff0c;搜索recipe 也可以点这里看看有哪些配置 2 设置跳转快捷键...

PHP序列化、反序列化

目录 一、PHP序列化&#xff1a;serialize() 1.对象序列化 2.pop链序列化 3.数组序列化 二、反序列化&#xff1a;unserialize() 三、魔术方法 ​四、NSSCTF相关简单题目 1.[SWPUCTF 2021 新生赛]ez_unserialize 2.[SWPUCTF 2021 新生赛]no_wakeup 学习参考&#xff1…...

websocket链接携带参数

前端创建链接时官方提供的构造函数 var aWebSocket new WebSocket(url, [protocols]); url&#xff1a;要连接的URL&#xff1b;这应该是WebSocket服务器将响应的URL。 protocols&#xff1a;可选&#xff1b;一个协议字符串或者一个包含协议字符串的数组。这些字符串用于指定…...

【C++进阶】深入STL之list:模拟实现深入理解List与迭代器

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;初步了解 list &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀STL之list &#x1f4d2;1. list…...

技术管理之巅—如何从零打造高质效互联网技术团队阅读体验

技术管理之巅—如何从零打造高质效互联网技术团队 《技术管理之巅&#xff1a;如何从零打造高质效互联网技术团队》是黄哲铿所著的一本书&#xff0c;致力于帮助技术管理者从零开始打造高效的互联网技术团队。该书分为多个章节&#xff0c;分别探讨了从团队文化建设到技术架构…...

机器学习与数据挖掘知识点总结(一)

简介&#xff1a;随着人工智能&#xff08;AI&#xff09;蓬勃发展&#xff0c;也有越来越多的人涌入到这一行业。下面简单介绍一下机器学习的各大领域&#xff0c;机器学习包含深度学习以及强化学习&#xff0c;在本节的机器学习中主要阐述一下机器学习的线性回归逻辑回归&…...

行心科技中禄松波携手,开启智能健康新时代

在2024年第34届健博会暨中国大健康产业文化节的盛大舞台上&#xff0c;广州市行心信息科技有限公司&#xff08;以下简称“行心科技”&#xff09;与浙江中禄松波生物工程有限公司&#xff08;以下简称“中禄松波”&#xff09;宣布达成战略合作&#xff0c;共同推动医康养产业…...

前端多人项目开发中,如何保证CSS样式不冲突?

在前端项目开发中&#xff0c;例如突然来了一个大项目&#xff0c;很可能就需要多人一起开发&#xff0c;领导说了&#xff0c;要快&#xff0c;要快&#xff0c;要快&#xff0c;你们给我快。然后下面大伙就一拥而上&#xff0c;干着干着发现&#xff0c;一更新代码&#xff0…...

石家庄专业网站设计电话/百度电话号码查询平台

box-shadow 以逗号分割列表来描述一个或多个阴影效果&#xff0c;可以用到几乎任何元素上。 如果元素同时设置了 border-radius &#xff0c;阴影也会有圆角效果。多个阴影时和多个 text shadows 规则相同(第一个阴影在最上面)。默认值: none 不可继承值&#xff1a; inset 默…...

怎样做模具钢网站/seo范畴有哪些

注意 presto中都是用单引号: select dt from tb1 where dt date 2021-02-01;...

网站空间和虚拟主机/东莞seo排名收费

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 决策树除了能进行分类分析&#xff0c;还能进行回归分析&#xff0c;即预测连续变量&#xff0c;此时的…...

阿里妈妈网站怎么做/网站网络排名优化方法

说到XML&#xff0c;恐怕我们最深刻的印象也就是满眼的配置文件了&#xff0c;其实使用XML来交换数据也是比较常见的&#xff0c;我想就是因为它的灵活性好通用性强便于传输等原因吧。这样&#xff0c;对XML文件的解析就显得特别重要了&#xff0c;就好像我们的JDBC从数据库拿数…...

网站制作的流程包括哪些/互联网营销推广渠道

开发环境(蓝色粗体字为特别注意内容) 1、软件环境&#xff1a; Win7 Ultimate sp1、jdk7u45 2、参考文献&#xff1a;https://www.cnblogs.com/jack1208-rose0203/p/5713210.html private static final byte[] ARRAY_CIRCLE { 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff…...

做贸易怎么找客户/网站seo

Sqoop-1.4.6使用手册-v1.0-import部分安装使用Sqoop-1.4.6.jarJDBC包导入从RDB导入数据至HDFSOracleMySQL从RDB导入数据至HiveOracleMySQL导入全部表空值处理增量导入导入新数据导入更新数据导入数据表的子集保存上次导入的值增量导入总结密码保护压缩关于版本转载请注明出处&a…...