首页 > 其他分享 >STM32 HAL库开发——入门篇(3):OLED、LCD

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

时间:2024-06-05 21:01:27浏览次数:28  
标签:HAL FSMC 介绍 STM32 3.7 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值再转化成坐标值,电容屏是直接获取坐标值

标签:HAL,FSMC,介绍,STM32,3.7,LCD,地址,触摸屏
From: https://blog.csdn.net/qq_47941078/article/details/131154941

相关文章

  • 400、基于51单片机的电压表(1路,ADC0832,LCD1602)(程序+Proteus仿真+原理图+流程图+元器件
    毕设帮助、开题指导、技术解答(有偿)见文未目录方案选择单片机的选择显示器选择方案一、设计功能二、Proteus仿真图单片机模块设计三、原理图四、程序源码资料包括:需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。方案选择......
  • STM32解决方案2:STM32程序中移植入其他模块注意事项
    Question在一个stm32大的开发程序中,如果要编写完之后移植入一个模块,如果要重新再编写整个程序显然很麻烦。为此,我们以stm32F103的一个程序为例,移植入LCD显示屏模块。(1)在对应的文件夹下导入LCD的文件。(2)在对应文件中添加该头文件(3)在此处加入LCD所在的目录(4)一定要记......
  • STM32学习(USART通信协议)
            本文章时本人根据江科大视频所记录的笔记,希望对大家的学习能提供帮助。1.通信接口通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统(stm32内部芯片无法得到的数据,需要连接外部芯片获取)通信协议:制定通信的规则,通信双方按照协议规则进行数据收发USAR......
  • Android Audio模块 音量增益 framework到HAL 层加载流程
    目录背景概念AndroidAudio调用流程(app-framework-HAL)标记0libaudioclient标记1libaudioclient:aps变量赋值标记1.1binder变量赋值标记2audiopolicy标记4audiopolicy:mAudioPolicyManager变量赋值标记5audiopolicy标记6audiopolicy:mpClientInterface变量赋值标......
  • stm32系列--同一定时器双通道捕获
     voidTIM3_Cap_Init(u16arr,u16psc)//定时器3通道2输入捕获配置{TIM_ICInitTypeDefTIM_ICInitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;R......
  • stm32系列--低电平时间的测量
     TIM_ICInitTypeDefTIM2_ICInitStructure;voidTIM2_CH1_Cap_Init(u16arr,u16psc){GPIO_InitTypeDefGPIO_InitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB1Peri......
  • STM32H743 ADC+DMA
    1.**STM32CubeMX配置如下:**ADC:配置通道配置ADC的工作模式,这里用到了DMA使用ADC中断DMA2的通道4对应ADC2GPIO的配置,没有配置上下拉DMA配置:用STM32H743用DMA传输ADC的数据会有一个需要注意的点,需要将传输数据的buf配置在固定的某一段RAM中。#defineADC_CONVE......
  • 2.6倍!WhaleTunnel 客户POC实景对弈DataX
    作为阿里早期的开源产品,DataX是一款非常优秀的数据集成工具,普遍被用于多个数据源之间的批量同步,包括类似ApacheDolphinScheduler的Task类型也对DataX进行了适配和增强,可以直接在DolphinScheduler里面利用通用的数据源调用DataX进行数据批量同步。作为DolphinScheduler的社区支......
  • Vue3-shallowRef与shallowReactive
    shallowRef作用:创建一个响应式数据,但只对顶层属性进行响应式处理。用法:letmyVar=shallowRef(initialValue);特点:只跟踪引用值的变化,不关心值内部的属性变化。shallowReactive作用:创建一个浅层响应式对象,只会使对象的最顶层属性变成响应式的,对象内部的嵌套属......
  • 286、基于51单片机的温度报警(8路,DS18B20,热电偶,LCD1602)
    完整资料或定制滴滴我(有偿)见文末。目录一、设计功能二、Proteus仿真三、原理图四、程序源码五、资料包括一、设计功能多路温度采集系统1、刺激4路DS18B20温度和4路热电偶温度2、自动循环显示每路温度值3、设置温度上下限,温度过限报警二、Proteus仿真......