STM32使用FSMC驱动LCD

news2025/1/19 11:26:27

关于FSMC驱动LCD的函数LCD_WR_REG的理解

    • 首先你需要理解使用结构体LCD_BASE
    • 若有错误,请各位师兄师姐指点
  • 原理框图
    • 重要的函数理解
    • 关于LCD_BASE和函数LCD_WR_REG(u16 regval)的理解
    • 至于0X6C00 0802地址也是一样的。

首先要说的是这是我个人的理解,很可能是错的!!!!!
首先要说的是这是我个人的理解,很可能是错的!!!!!
首先要说的是这是我个人的理解,很可能是错的!!!!!
首先要说的是这是我个人的理解,很可能是错的!!!!!
首先要说的是这是我个人的理解,很可能是错的!!!!!
首先要说的是这是我个人的理解,很可能是错的!!!!!

首先你需要理解使用结构体LCD_BASE


若有错误,请各位师兄师姐指点


原理框图


至于这里其中的详细讲解,可以参考:https://blog.csdn.net/RongLin02/article/details/121445952

重要的函数理解

首先来看一个结构体:
1
然后是几个非常重要的函数:
在这里插入图片描述
在这里我们先解释第一个函数:

void LCD_WR_REG(u16 regval)
{
	LCD->LCD_REG = regval;        //写入要写的寄存器序号
}

调用这个函数:

int main() {
	LCD_WR_REG(0xd3);	
}

关于LCD_BASE和函数LCD_WR_REG(u16 regval)的理解

在LCD_WR_REG函数中,可以发现居然是直接给LCD_REG赋值,很奇怪是吧,(这里用VS跑了一下输出LCD_REG居然是coredump)。

然后找了一些资料,发现说FSMC已经将地址0X6C00 07FE映射了(如何映射我也不知道)
这里的大概意思是向LCD_REG这个地址所指向的空间写入0XD3,然后FSMC自动通过数据线FSMC_D[15:0]发给LCD了。
也就是说这里的
LCD->LCD_REG = regval
的操作相当于
int *p; *p = regval;
这就是说并没有改变p(指针的值,即LCD_REG所指向的地址是0X6C00 07FE,那么就是说FSMC_A[0:25]其中的A10即LCD的RS没有改变,仍然是0)的值,那么就实现了向LCD写数据/命令的效果。
在这里插入图片描述

至于0X6C00 0802地址也是一样的。

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

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

相关文章

数字IC设计、验证、FPGA笔试必会 - Verilog经典习题 (五)位拆分与运算

数字IC设计、验证、FPGA笔试必会 - Verilog经典习题 (五)位拆分与运算 🔈声明: 😃博主主页:王_嘻嘻的CSDN博客 🧨未经作者允许,禁止转载 🔑系列专栏:牛客Veri…

Burp Suite Professional 2023.1 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接:https://sysin.org/blog/burp-suite-pro-2023,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org Burp Suite Professional&a…

《后端技术面试 38 讲》学习笔记 Day 07

《后端技术面试 38 讲》学习笔记 Day 07 21丨分布式架构:如何应对高并发的用户请求 原文摘抄 当同时访问系统的用户不断增加的时候,需要消耗的系统计算资源也不断增加,需要更多的 CPU 和内存去处理用户的计算请求,需要更多的网络…

二叉树、平衡二叉树、红黑树、B树、B+树、B*树的区别

二叉树 如下图,是一个二叉树的结构图片: 可以看到无论是对象“9”、还是“5”、“13”、“2”、“7”、“11”、“15”它们的下面分别都叉了两个其他的对象。而且这两个对象都是左边的数值要小一些,右边的数值要大一些。 所以这就是二叉树的…

Qt+C++堆叠多窗口界面切换

程序示例精选 QtC堆叠多窗口界面切换 如需安装运行环境或远程调试&#xff0c;见文章底部个人微信名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<QtC堆叠多窗口界面切换>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读…

停车系统源码-基于springboot+uniapp开源项目

Iparking停车收费管理系统-可商用介绍Iparking是一款基于springBoot的停车收费管理系统&#xff0c;支持封闭车场和路边车场&#xff0c;支持微信支付宝多种支付渠道&#xff0c;支持多种硬件&#xff0c;涵盖了停车场管理系统的所有基础功能。技术栈Springboot,Mybatis Plus,B…

聚观早报 | 推特将释放15亿用户名售卖;微信回应切断抖音外链

今日要闻&#xff1a;比亚迪摘得国内汽车年度销量冠军&#xff1b;推特将释放15亿用户名进行售卖&#xff1b;微信回应切断抖音外链&#xff1b;原阿里云盘负责人、Teambition 创始人齐俊元加入飞书&#xff1b;辉瑞CEO称新冠药不能太便宜推特将释放15亿用户名进行售卖 1 月 12…

直播回顾 | 如何运用数智化助力光伏上游产业节能降碳(下)——企业降碳篇

1月12日&#xff0c;始祖科技【始祖双碳研习社】行业解决方案第二期顺利结束&#xff0c;在第一期的基础上为大家带来了“双碳”政策对光伏上游企业提出的新要求&#xff0c;数智技术在光伏领域发挥双碳赋能作用&#xff0c;数智技术实现光伏领域“双碳”赋能的路径等多个维度的…

PMP证书获取指南来了

为什么考PMP证书是值得的&#xff1f;甚至对于管理人员来说是必须的&#xff1f; 1、个人能力的提高 考取PMP证书是一个系统的学习过程&#xff0c;让你的管理思维更加清晰&#xff0c;可能很多人都是从野路子&#xff0c;自己从实践中摸索管理经验&#xff0c;但是学完PMP证…

功率放大器在体外构建工程化心肌组织研究中的应用

实验名称&#xff1a;多功能明胶复合水凝胶的制备及体外构建工程化心肌组织的研究 研究方向&#xff1a;生物医学 测试目的&#xff1a; 制备一种基于GelMA的三维各向异性的电磁功能复合水凝胶支架&#xff08;GelMA-PDA-rGO-Fe3O4&#xff09;&#xff0c;由Fe3O4纳米颗粒修饰…

Python内存管理与垃圾回收

Python内存管理与垃圾回收引用计数器标记清除分代回收缓存机制※※引用计数器为主&#xff0c;标记清除和分代回收为辅缓存机制 引用计数器 1.1 c语言中的环状双向链表refchain.&#xff1a; 在Python的C源码中有一个refchain的环状双向链表&#xff0c;Python程序当中一旦创…

一个.Net简单、易用的配置文件操作库

在我们日常项目开发中&#xff0c;操作INI/CFG配置文件&#xff0c;往往会通过调用WinAPI来实现&#xff0c;WinAPI接口参数只支持字符串&#xff0c;而我们项目中&#xff0c;往往数据类型是多种多样的&#xff0c;在保存和获取配置值&#xff0c;我们就要进行类型的转换。 今…

【 uniapp - 黑马优购 | 购物车页面(3)】结算页面组件封装与渲染 (超详细代码讲解)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生&#xff0c;讨厌编程&#x1f38b; &#x1f43b;‍❄️***个人主页&#x1f947;&#xff1a;***小新爱学习. &#x1f43c;***个人WeChat&#xff1a;见文末*** &#x1f54a;️***系列专栏&#xff1…

C语言 动态内存管理函数的 深度解析 #是不是对数组不能变大变小而烦恼呢?学会动态内存管理函数,消去数组耿直的烦恼#

文章目录前言为什么存在动态内存分配&#xff1f;malloc 和 free1.malloc2.free3.使用callocrealloc常见的动态内存错误1.对NULL指针的解引用操作2.对动态开辟空间的越界访问3.对非动态开辟内存使用free释放4.使用free释放一块动态开辟内存的一部分5.对同一块动态内存多次释放6…

启动优化·基础论·浅析 Android 启动优化

“ 【小木箱成长营】启动优化系列文章(排期中)&#xff1a; 启动优化 工具论 启动优化常见的六种工具 启动优化 方法论 这样做启动优化时长降低 70% 启动优化 实战论 手把手教你破解启动优化十大难题 ”一、引言 Hello&#xff0c;我是小木箱&#xff0c;欢迎来到小木箱成…

Transformer——day63 读论文:SST:用于多标签图像识别的空间和语义变压器

SST&#xff1a;用于多标签图像识别的空间和语义变压器SST&#xff1a;用于多标签图像识别的空间和语义变压器I. INTRODUCTIONII. RELATED WORKA. Multi-Label Image RecognitionB. Transformer in Computer VisionIII. APPROACHA. MotivationB. Recap of TransformerC. Modeli…

【Java寒假打卡】Java基础-多线程

【Java寒假打卡】Java基础-多线程概述读线程实现方式-继承Thread多线程实现方式-Callable三种实现方式的对比Thread方法守护线程线程的优先级概述 并发和并行 进程和线程 读线程实现方式-继承Thread 继承Thread类进行实现 package com.hfut.edu.test11;public class MyThr…

2022年最新年终奖个人所得税计算计算方法及扣税标准

1、2021年12月30号&#xff0c;国务院决定年终奖等三项个税优惠续期&#xff1a;http://www.gov.cn/zhengce/2021-12/30/content_5665553.htm2、税务总局公告2019年第35号《关于非居民个人和无住所居民个人有关个人所得税政策的公告》&#xff1a;http://www.gov.cn/zhengce/zh…

一、Django项目创建

一. Python项目虚拟环境创建 在项目开发过程中会下载很多第三方库&#xff0c;有时不同项目对同一个库的依赖版本不同&#xff0c;如果所有项目都使用同一个python环境就会起冲突不便于管理。因此&#xff0c;实际开发中会为每一个项目都单独创建一个python的虚拟环境。这里的…

多线程~POSIX信号量实现生产者消费者模型,PV操作

目录 1.信号量的概念 2.sem_t信号量的操作函数 &#xff08;1&#xff09;.原理 &#xff08;2&#xff09;.sem_t函数的使用 &#xff08;3&#xff09;.基于信号量和环形队列的生产者消费者模型 1&#xff09;.大致实现思路 Task.hpp circular_queue.hpp circular_c…