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

news2024/11/26 18:26:25

文章目录

  • 断码屏驱动补充
  • 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共用时钟源:
    在这里插入图片描述
    规格书也提到可以在部分低功耗场景下使用:
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

金融中的数学:贝叶斯公式

1.贝叶斯定理 贝叶斯定理是概率论中的一项重要定理,用于在已知某一事件的条件下,求另一事件发生的概率。它是根据条件概率推导出来的,得名于英国数学家托马斯贝叶斯。 贝叶斯定理可以表示为: 这个式子就是贝叶斯公式&#xff0c…

LabVIEW使用自定义模板和示例项目来开发LabVIEW项目

LabVIEW使用自定义模板和示例项目来开发LabVIEW项目 创建项目时,LabVIEW将显示“创建项目”对话框,以帮助您选择模板或示例项目来作为开发起点。如果要使用您创建的项目作为自定义模板和示例项目,您必须将每个项目的源文件和元数据添加到相应…

算法与数据结构(四)--队列

一.队列的基本概念 队列是另一种特殊的表,这种表只在表首(也称为队首)进行删除操作,只在表尾进行插入操作。队列的修改是按先进先出的规则进行的,所以队列又称为先进先出表,First In First Out&#xff0c…

高温介电参数测试

高温介电参数测试 在新材料科研领域,高温介电参数的测量是众多高校和研究所经常会面临的问题。精科声学所事业部电子和专业的高温介电系统集成商合作,使用 JKZC-YDZK03A型高温压电阻抗综合分析仪进行配套系统集成,满足客户高温介电测量和曲线…

什么是 web3?

在百度搜索引擎输入 “Web3”、“大厂”。跳出来基本都是这样的标题. 以及如今的互联网行业 “哀鸿遍野”,不仅内卷,还裁员。然后掀起一阵风,猛吹 Web3 的好,数据回归用户……最后再 “威逼利诱” 一下,Web3 就是 20 年…

【业务功能篇50】ObjectMapper-将java对象转为json字符串

ObjectMapper可以实现Java对象和json字符串间互相转换,我们经常用到的是它的Java对象转json字符串功能。 这里目的是 Java对象 json字符串相互转换 api 【json字符串转为Java对象:readValue(json字符串,类.class)】【Java对象转为json字符串&#xff1a…

读kafka生产端源码,窥kafka设计之道(下)

背景 在上一篇文章《读kafka生产端源码,窥kafka设计之道(上)》 留下了kafka设计上比较优秀的一个点;内存的循环使用。本篇文章准备盘盘它。 好奇 为什么 kafka减少发送消息时向JVM频繁申请内存,就可以降低JVM GC的执…

idea 设置了 vm options后无法启动

今天想扩展ideaj的JVM 设置了 vm options后无法启动 找了很久,重新卸载后安装也没有用 后面直接打开idea的bat文件 找到自己idea使用的.vmoptions文件,我是因为之前idea有缓存,一直用的我修改的文件,后面删了就可以启动了

看了我项目中的商品功能设计,同事也开始悄悄模仿了...

商品功能作为电商系统的核心功能,它的设计可谓是非常重要的。就算不是电商系统中,只要是涉及到需要交易物品的项目,商品功能都具有很好的参考价值。今天就以mall项目中的商品功能为例,来聊聊商品功能的设计与实现。 mall项目简介 …

前端实习第一周周记

第一天 第一天来的时候,十点左右就开始跑代码了,公司发了电脑,但由于自己的电脑环境比较齐全,所以就先用自己的电脑跑的代码。 一共是两个项目,一个pc类似于管理系统,还有一个是微信小程序。 拉代码的过…

3DVR全景旅游,最新数字化智慧文旅

导语: 随着科技的飞速发展,3DVR全景旅游正以其独特的特点和无限的优势,成为当今智慧文旅的领航者。穿戴上VR设备,只需一个轻轻的点击,你将被带入一个全新的数字世界,领略美景、探索奇迹。让我们一起深入了…

el-Cascader 中div上绑定keyDown事件

keydown,keyup,keypress 事件默认是给页面上可以聚焦的元素绑定键盘事件,例如input输入框,点击输入框即代表聚焦在该元素上。那么想要给div或者其他不能聚焦的元素上使用键盘事件怎么处理呢?这里用到tabindex属性。 …

Idea maven窗口 展示不分级 maven层级混乱

1. 正在写分布式im 开源项目:nami-im: 分布式im, 集群 zookeeper netty kafka nacos rpc主要为gate(长连接服务) logic (业务) lsb (负载均衡)store(存储) - Gitee.com …

redis - 学习笔记

一、NOSQL 1、概述 泛指非关系型数据库 关系型数据库:表格、行、列 2、特点 方便拓展大数据量,高性能(1s写8w次,读取11w,NOSQL的缓存记录级,是一种细粒度的缓存,性能比较高)数据…

网安第二天笔记

ssh 22端口 账号密码登陆、证书登录 smtp 25端口 邮件协议 DNS 53 DHCP 67 68端口 四个包 1.DHCP服务器:服务器管理IP地址池和配置参数 2.客户端请求:发送DHCP广播请求,discover消息 3.DHCP服务器回应:收到discover会回复offer…

Vue2.x和Vue3.x面试常问知识点-面试题

SPA单页面的理解,它的优缺点分别是什么? 是什么 SPA( single page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。 一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转 而…

数据结构与算法——链栈及基本操作(包含入栈和出栈)详解

链栈,即用链表实现栈存储结构。 链栈的实现思路同顺序栈类似,顺序栈是将数顺序表(数组)的一端作为栈底,另一端为栈顶;链栈也如此,通常我们将链表的头部作为栈顶,尾部作为栈底&#…

C语言程序设计——文件操作

一、文件的打开和关闭 1. 文件指针 每个被使用的文件,都会在内存中开辟一个相应的文件信息区,用来存储文件的相关信息(文件名、文件状态、文件位置……)。 这些信息是保存在一个结构体变量中,该结构体类似是由系统声明…

选择优秀的敏捷项目管理工具:指南与考虑因素!

如何选择优秀的敏捷项目管理工具?敏捷项目管理工具是用于管理和执行敏捷项目的任何工具。在最基本的形式中,白板和便签可以被认为是敏捷管理工具。敏捷工具和其他项目管理工具之间的主要区别在于它们处理敏捷框架的能力,例如看板和Scrum。 换句话说&…

OpenAI推动人工智能治理向前发展

OpenAI和其他领先的人工智能实验室正在做出一系列自愿承诺,以加强人工智能技术和我们的服务的安全性、安全性和可信度。这个过程由白宫协调,是在美国和世界各地推进有意义和有效的人工智能治理的重要一步。 作为我们建立安全和有益的AGI的使命的一部分&a…