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

这篇具有很好参考价值的文章主要介绍了【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

断码屏驱动补充

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

  • DISP_NUM[3] = {2, 5, 7}
    这里应该结合原文使用的函数一起看:
    【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法,单片机,STM32L152,段码屏,初始化失败,低功耗
    16相当于基地址,2,5,7就相当于偏移地址,传入参数c就相当于指定了显示的是哪个位置的数字, 四个COM口分四次写入。

    • 当然,看懂这里仍然要先明白显存和seg、com的对应关系,这个看了手册LCD寄存器部分应该就清楚了,配合真值表容易理解
  • 权值
    【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法,单片机,STM32L152,段码屏,初始化失败,低功耗
    最容易迷惑人的就是这个,搞得很抽象,其实道理很简单,观察真值表可以发现每位数字都是都两个SEG组成,且都是相邻的:
    【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法,单片机,STM32L152,段码屏,初始化失败,低功耗
    因为上面有左移(基地址+偏移地址),已经可以偏移到了对应的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}。文章来源地址https://www.toymoban.com/news/detail-607786.html

    • 这里也还是需要知道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,则尝试设置内部电源:【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法,单片机,STM32L152,段码屏,初始化失败,低功耗
    • 我没用内部电源测试,只是在参考手册上看到这个,有兴趣的可以试试:
      【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法,单片机,STM32L152,段码屏,初始化失败,低功耗
  • 另外,LCD模块是可以在停机模式运行的:
    从时钟可以看到和RTC共用时钟源:
    【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法,单片机,STM32L152,段码屏,初始化失败,低功耗
    规格书也提到可以在部分低功耗场景下使用:
    【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法,单片机,STM32L152,段码屏,初始化失败,低功耗

到了这里,关于【stm32L152】段码屏驱动注解、MX_LCD_Init()初始化失败的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32L051使用HAL库操作实例(14)- ADC采集电压

    目录 一、前言 二、ADC外设简要说明 三、STM32CubeMX配置(本文使用的STM32CubeMX版本为6.1.2) 1.MCU选型 2.时钟使能 3.外部时钟配置 4.串口配置 5.ADC引脚配置 6.配置STM32CubeMX生成工程文件 7.点击GENERATE CODE生成工程文件 四、工程源码 五、运行状态 一、前言 本文主要介绍通过HAL库搭建

    2024年01月16日
    浏览(59)
  • 用STlink烧录工具和搭配STM32 ST-LINK Utility软件烧录STM32L051的方法

    用STlink烧录工具和搭配STM32 ST-LINK Utility软件烧录STM32L051的方法 1.下载安装软件 双击STM32 ST-LINK Utility v4.5.0.exe,按默认一直点下一步即可。 2.打开烧录软件 3.打开烧录代码 4.连接目标板 5.修改软件配置 6.重新连接目标板 7.点击烧录并校验 8.烧录校验成功 9.在烧录做以上动作之前

    2024年02月04日
    浏览(37)
  • RT-Thread STM32L433 Ali Starterkit BSP说明

    本文档为STM32L433 Ali Starterkit Kit 提供的 BSP (板级支持包) 说明。 主要内容如下: 开发板资源介绍 BSP 快速上手 进阶使用方法 通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-T

    2024年02月05日
    浏览(38)
  • 【STM32L496】使用HAL库实现SPI写入/读取数据(AD5421)

    SPI协议详解(图文并茂+超详细) SPI超详细解析 【STM32笔记】HAL库中的SPI传输(可利用中断或DMA进行连续传输) AD5421是一款集成器件,设计用于环路供电型4-20mA智能发射器应用。AD5421在单芯片内提供如下特性和功能:16位DAC和电流放大器,用于对环路电流进行数字控制;用于

    2024年02月03日
    浏览(78)
  • 【格院】基于STM32L432KC之入坑MS Lab Part 3

    看题目要求 Exercise 6 - Creating constant output voltages a.Given the description of the range of analogue voltages that the mbed can output, what are the two output voltages that should appear on pin A4? b. Confirm the two output voltages in the code shown above are as you expect. c. Modify the code to output constant voltages of 0.5 V, 1.0 V, 2.0 V an

    2024年04月17日
    浏览(37)
  • RT Thread Stdio生成STM32L431RCT6无法启动问题

    使用RT thread Stdio生成STM32L431RCT6工程后,编译下载完成后系统无法启动,无法仿真debug; 如果当前使用的芯片支持包版本为0.2.3,可能是这个版本问题,目前测试0.2.3存在问题,修改为0.1.9就可以正常使用。 (1)邮件单击项目--修改工程--芯片支持包: (2)如果当前版本是0.2

    2024年01月19日
    浏览(48)
  • uC-OS2 V2.93 STM32L476 移植:环境搭建篇

    uC-OS2 是比较经典的 RTOS,如今软件授权已经改为 Apache License Version 2.0 ,意味着可以免费商用了 当前 uC-OS2 的最新版本是: V2.93,打算研究一下 RTOS 的设计思想,所以想在已有的开发板:NUCLEO-L476RG,也就是 STM32L476RG 平台上进行移植、研究 win10 64位 Keil uVision5,MDK V5.36 uC-OS2 V2

    2024年02月14日
    浏览(43)
  • uC-OS2 V2.93 STM32L476 移植:串口打印篇

    前几篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG 的 STM32L476RG 的 裸机工程,下载了 uC-OS2 V2.93 的源码,并把 uC-OS2 的源文件加入 Keil MDK5 工程,通过适配 Systick 系统定时器与 PendSV 实现任务调度,初步让 uC-OS2 运行起来 本篇适配 uC-OS2 的 串口驱动,实现 类似于 printf 的打印功能,让

    2024年02月13日
    浏览(37)
  • RT-Thread STM32L475 IoT Discovery kit BSP说明①

    本文档为 RT-Thread 开发团队为 STM32L475 IoT Discovery kit开发板提供的 BSP (板级支持包) 说明。 主要内容如下: 开发板资源介绍 BSP 快速上手 进阶使用方法 通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功

    2024年02月02日
    浏览(79)
  • 【STM32L496】使用HAL库实现I2C写入/读取数据(M24C32)

    IIC原理超详细讲解—值得一看 【嵌入式硬件芯片开发笔记】EEPROM芯片M24C32配置流程 STM32硬件I2C与软件模拟I2C超详解 实现通信功能的芯片为M24C32,对此,芯片手册上第一页就有对其概括描述。 Automotive 32-Kbit serial I²C bus EEPROM with 1 MHz clock 启动/停止条件 :当串行时钟(SCL)位于

    2024年02月03日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包