【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法

文章目录

  • 断码屏驱动补充
  • MX_LCD_Init()驱动初始化失败

断码屏驱动补充

已经有大神写过较详细的教程:https://blog.csdn.net/CSDN_Gao_16/article/details/115463499,但这篇博文仍然比较抽象,我看了好多遍才看明白-_-||,为了节省和我一样看的云里雾里的小白的宝贵的时间,这里是对原文的一些难以理解地方的解释:

  • DISP_NUM[3] = {2, 5, 7}
    这里应该结合原文使用的函数一起看:
    在这里插入图片描述
    16相当于基地址,2,5,7就相当于偏移地址,传入参数c就相当于指定了显示的是哪个位置的数字, 四个COM口分四次写入。

    • 当然,看懂这里仍然要先明白显存和seg、com的对应关系,这个看了手册LCD寄存器部分应该就清楚了,配合真值表容易理解
  • 权值
    在这里插入图片描述
    最容易迷惑人的就是这个,搞得很抽象,其实道理很简单,观察真值表可以发现每位数字都是都两个SEG组成,且都是相邻的:
    在这里插入图片描述
    因为上面有左移(基地址+偏移地址),已经可以偏移到了对应的7,10,12的SEG上面了,接下来就是写寄存器,也就是平时的先&0再|1,所以四个COM端掩码部分要清空的就分别是(第0、1位)、(第0、1位)、(第0、1位)、(第1位),而第0位对应二进制是1,第1位对应二进制是2,所以这个权值(也就是对应要操作的显存位置)就是3、3、3、2,这里会把对应的显存清掉,写的显存内容就是DISP_NUM_TAB[10][4]中的对应值,比如数字0,DISP_NUM_TAB[0]是{3,2,3,2}。

    • 这里也还是需要知道HAL_LCD_Write()中的形参是什么意思才行,需要关注寄存器号、掩码、数据。掩码就是为0的部分会清掉,数据就是再或运算写上去,就完成了显存的操作,然后调用HAL_LCD_UpdateDisplayRequest()就会刷新上去

MX_LCD_Init()驱动初始化失败

  • 另外,关于LCD初始化失败,可能是配置或电路原因,如果 V l c d V_{lcd} Vlcd连接了 V c c V_{cc} Vcc, 使用外部电源(External),如果 V l c d V_{lcd} Vlcd通过电容连接到 V s s V_{ss} Vss,则尝试设置内部电源:在这里插入图片描述
    • 我没用内部电源测试,只是在参考手册上看到这个,有兴趣的可以试试:
      在这里插入图片描述
  • 另外,LCD模块是可以在停机模式运行的:
    从时钟可以看到和RTC共用时钟源:
    在这里插入图片描述
    规格书也提到可以在部分低功耗场景下使用:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/44417.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

选择最佳安全文件传输方法的重要性

在数字化时代,文件的传输是商务、教育、科研、医学等领域不可或缺的工作流程。为了保障数据安全,选择最佳安全文件传输方法非常关键。在本文中,我们将探讨选择最佳安全文件传输方法的重要性。 第一、最佳安全文件传输方法可以保证文件内容不被…

Jmeter常见问题之URI异常

这篇文章介绍一下"http://"重复导致的URI异常问题,通常从浏览器地址栏复制url,直接粘贴到Jmeter的http请求的服务器地址中会默认带上“http://”,要将http://删除,只写IP地址,如下图: 否则&…

ESP-C3入门20. CentOS开发环境及Jenkins流水线

一、准备环境 CentOS8已经正常安装Jenkins 二、升级 cmake cmake 升到 3.16以上。 cmake --version # 安装 g sudo yum install gcc-c export CXXg# 安装 CMake 的依赖项 sudo yum install -y openssl-devel# 下载 CMake 源码并进行编译安装 wget https://github.com/Kitwa…

[ 容器 ] Harbor 私有仓库的部署与管理

目录 一、什么是Harbor二、Harbor的特性三、Harbor的构成四、Harbor 部署五、关于 Harbor.cfg 配置文件中有两类参数:所需参数和可选参数六、维护管理Harbor 一、什么是Harbor Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户…

微服务笔记---Nacos集群搭建

微服务笔记---Nacos集群搭建 Nacos集群搭建1.集群结构图2.搭建集群2.1.初始化数据库2.2.下载nacos2.3.配置Nacos2.4.启动2.5.nginx反向代理2.6.优化 Nacos集群搭建 1.集群结构图 官方给出的Nacos集群图: 其中包含3个nacos节点,然后一个负载均衡器代理…

具身智能,是机器人的“冷饭热炒”吗?

大模型正如火如荼,下一个AI风口就来了。 如果你关注2023世界人工智能大会等行业峰会,以及英伟达、微软、谷歌、特斯拉和国內科技大厂的最新发布会,除了“大模型”,应该会听到另一个高频词——具身智能。 所谓具身智能Embodied AI …

实用的设计模式08——适配器模式

适配器的单词是Adapter,我们在开发时经常碰到叫做XxxAdapter的类,此时一般就是使用了适配器模式,适配器模式是非常常用,本文就对适配器模式做一个简单的介绍 文章目录 1、真实开发场景的问题引入2、适配器模式讲解2.1 核心类及类图…

前端:运用html+css+js模仿百度热搜电影榜鼠标移入特效

前端:运用htmlcssjs模仿百度热搜电影榜鼠标移入特效 1. 实现原理2. 界面布局3. js实现对鼠标移入和移出的监听4. 参考代码如下: 1. 实现原理 百度热搜上电影榜鼠标移入特效如上图所示。个人觉得上述特效实现原理为使用相对定位、绝对定位实现的(鼠标移入和没有移入…

关于ETL的两种架构(ETL架构和ELT架构)

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象…

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(五)

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python面试专栏:《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读,一起进步!🌟🌟🌟 …

第五课:Figma 玻璃拟态页设计

效果展示 通过背景模糊实现玻璃拟态效果 选择合适的背景,绘制形状,给形状添加 Effects,点击下方的下拉选择框,选择 background blur;添加后会发现,画面无任何改变,调整 Fill 后面的百分比&…

6.运算符

6.1赋值运算符 ➢已经学过的赋值运算符: ➢其他赋值运算符: 、-、*、/、% 6.2 一元运算符 众多的JavaScript的运算符可以根据所需表达式的个数, 分为一元运算符、二元运算符、三元运算符 ●二元运算符: 例:let num1020 ●一元运算符: 例…

windows系统修改mysql8配置文件,关闭ssl验证

如何寻找配置文件 我的电脑,右键,管理,服务 找到MySQL8 右键,属性 找到配置文件位置 通常情况下的默认路径是: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini 如何关闭SSL验证 打开 my.ini 配置内容如下&#x…

ant design vue a-table表格中插入操作按钮(以switch开关 [a-switch]为例)

1.给columns添加列属性 columns() {sortedInfo sortedInfo || {};return [{title: "工程",dataIndex: "outputProject",width: 80},{title: "是否显示小数",dataIndex: "showDecimalsOrnot",width: 80,scopedSlots: { customRender:…

Idea中git push to origin/master was rejected错误解决方案

Idea中git push to origin/master was rejected错误解决方案 问题描述解决方法 问题描述 idea开发中,需要将项目发布到gitee上,在gitee上创建仓库后,通过idea中git推送项目代码提示: push to origin/master was rejected 解决方法 gitee创建仓库时创建了README.md文件,本地…

Vue中TodoList案例_静态

MyHeader.vue <template><div class"todo-header"><input type"text" placeholder"请输入你的任务名称&#xff0c;按回车键确认"></div> </template><script> export default {name: "MyHeader"…

Postman怎么做接口测试-以简单的登录接口为例

我们就以登录某测试系统为例子&#xff0c;实现在Postman上做接口测试 一、首先打开系统首页首页&#xff0c;做一个登录操作&#xff08;目的是获取接口url及参数&#xff09;&#xff1a;一般在公司做接口测试的时候页面还没有出来&#xff0c;我们需要根据接口文档进行接口…

Terraform学习日记-AWS-EC2

terraform install https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli 这里我们使用 aws-linux-2022 作为执行环境 # sudo yum install -y yum-utils# sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/…

【Flutter问题记录】Android Studio不显示(右上角main.dart左边)设备栏

记录一下今天遇到的情况&#xff1a; 用android studio打开项目&#xff0c;我检查了&#xff0c;已经配置了flutter sdk和android sdk&#xff0c;但是右上角main.dart左边的设备栏就是不显示。 解决方法&#xff1a; 恢复如初&#xff1a;

统一观测丨使用 Prometheus 监控 Cassandra 数据库最佳实践

作者&#xff1a;元格 本篇内容主要包括四部分&#xff1a;Cassandra 概览介绍、常见关键指标解读、常见告警规则解读、如何通过 Prometheus 建立相应监控体系。 Cassandra 简介 Cassandra 是什么&#xff1f; Apache Cassandra 是一个开源、分布式、去中心化、弹性可伸缩、…