STM32 基础系列教程 45 - FSMC_LCD_Touch

2023-11-14

前言

    上一节我们完成了用 STM32F4的 FSMC接口来控制 TFTLCD的显示的操作,其实正点原子的探索者F4开发板带的屏幕支持触摸操作,笔者用的是4.3寸的电容触摸屏,本节我们继续实验,来完成基于STM32的触摸屏的实验,关于触摸屏的原理自行查找资料。

示例详解

基于硬件平台: 正点源子的stm32f4 探索者开发板,MCU 的型号是 STM32F4ZET6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。本示例所用的开发板及部分原理图:

https://www.eeboard.com/shop/data/uploads/2018/08/01/1533087371.jpg

 

 

 

    1. 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:

 

      1. 系统时钟树

 

      1. 串口配置(用于程序调试)

 

      1. RCC配置

      1. SYS配置

 

      1. FSMC接口配置(对应可用于SRAM的模块有4个,这里我们用第一个)

详细参数配置如下(需根据自已的实际电路来定)

 

      1. 引脚配置,按原理图来

背光及触摸驱动引脚:

      1. 堆栈配置(也可保持默认):

 

    1. 工程代码
      1. 在工程中加入事先准备好的lcd.c , ctiic.c, gt9147.c, touch.c, delay,c, lcd.h, font.h, ctiic.h, gt9147.h, touch.h, delay,h,User.h 文件(部分文件是在正点原子的探索者开发板官方例程文件中经过少量修改得而来),.h文件放在Inc文件夹中即可:

      1. 在main.c 中main函数中 USER CODE BEGIN Includes , USER CODE 2、USER CODE 4 区域加入如下图所示代码:

 

 

 

    1. 编译工程,烧录程序,成功点亮LCD并控制显示:

 

通过以上的结果可知本次的LCD触摸屏实验成功!

 

OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,会有不定期技术干货推出!!

 

文中源码资料下载,在公众号里给十三发消息:

下载|STM32基础系列教程45

 

关注十三公众号

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 基础系列教程 45 - FSMC_LCD_Touch 的相关文章

  • STM32Cube的串口设置(二)一个串口接收另一个串口发送

    串口系列 STM32Cube的串口设置 xff08 一 xff09 即学即用 通过串口设置第一部分大家应该基本会使用单个串口进行收发了 所以本次介绍通过串口进行转发 适合情景为一个串口设备波特率为38400 xff0c 但是接收模块仅支持1
  • 基于STM32F411使用SPI+DMA驱动LCD

    先看效果 F411CE 硬件SPI xff0b DMA驱动LCD 基于HAL库 其实HAL库我用不太习惯 xff0c 一直也是用的标准库 但HAL库确实是好上手一些 xff0c 就迅速创建一个新的template 这次就当尝试一下吧 xff
  • FMC/FSMC/EXMC总线NORFlash/PSRAM接口(异步-复用-不突发/同步-复用-突发)

    请勿转载 目录 1 简介 1 1 框图 1 2 接口定义 1 3 读写时序图 时序配置参数 1 4 PSRAM控制器异步工作模式分类 1 5 PSRAM寄存器配置 1 5 1 控制寄存器BCR 1 5 2 片选时序寄存器BTR 1 5 3
  • 使用FSMC驱动LCD以及数据线偏移的问题

    FSMC的理解 使用FSMC功能将8080接口的LCD当外部RAM来使用 xff08 数据传给LCD时没经过内部SRAM xff0c 所以一帧图片很大也可以直接传 xff09 xff0c 根据STM的地址分配图可以看出外部RAM的地址由0x
  • STM32Cubeide/STM32F103CubeMX生成自定义HID设备

    前面时钟啥的不管了 USB 48Mhz时钟 USB选择Device USB FS 设置参数 34是配置HID作为电脑识别用的 必须是34 64是数据收发用的 HID最大一次64 可以自定义 这两个是电脑识别之后的硬件ID 不知道什么讲究 不
  • stm32 USB CDC 不接电脑无程序一直在USB中断问题

    前些时间基于STM32CUBE 工具做了个用STM32F103的USB 接口 枚举成CDC的项目 接上电脑程序功能正常 但是在不接电脑时 程序一直在USB中断中 下在给大家分享一下我的解决方法 首先是在 stm32f1xx hal pcd
  • 第一章:多点触摸与手势检测

    一 响应者链 只要继承了UIResponder的对象就可作为事件的响应者 实际上UIControl继承了UIView UIView又继承了UIResponder 由此可见 所有的对象都可作为事件的响应者 当用户与某个控件交互时 该控件将作为
  • STM32 基础系列教程 47 - MD5

    前言 MD5消息摘要算法 英语 MD5 Message Digest Algorithm 一种被广泛使用的密码散列函数 可以产生出一个128位 16字节 的散列值 hash value 用于确保信息传输完整一致 MD5由美国密码学家罗纳德
  • [Android5.1][RK3288] LCD Mipi 调试方法及问题汇总

    调试流程 设置 dts 中的参数 并 配置管脚 背光部分 LCD 初始化序列 cmds 打开 config 检查电压 调试顺序 1 背光有没有亮 2 开机 以及 从休眠状态唤醒 都没有显示内容 3 我碰到的 cmds 问题 问题集锦 我调试
  • MSP430 LCD控制器解释

    CC430F613x的LCD控制器最多能控制160段 The LCD B controller features are Display memory Automatic signal generation Configurable fra
  • STM32CubeMX的使用教程

    STM32 关于STM32CubeMX的使用 打开Cube 点击File New Project 搜索芯片型号这边选择的是STM32L071CB系列上面菜单Docs Resources可以下载数据手册程序手册等 点击Start Projec
  • 002-实现Unity3d中触摸屏幕控制物体的旋转和缩放 代码实现

    1 直接帮到物体的身上就可以了 using UnityEngine using System Collections using System IO public class hehe MonoBehaviour private Touch
  • linux LCD驱动实验

    文章目录 一 linux下LCD驱动解析 1 Framebuffer设备 2 LCD驱动解析 二 硬件原理图分析 三 LCD驱动程序编写 1 LCD 屏幕 IO 配置 2 LCD 屏幕参数节点信息修改 3 LCD 屏幕背光节点信息 四 运行
  • 使用STM32CubeMX和STM32CubeIDE的常见问题和注意事项

    STM32CubeMX和STM32CubeIDE是ST公司的STM32Cube生态系统中最重要和最常用的2个软件 使用这2个免费软件可以高效地进行STM32系统的开发 CubeMX用于对一个STM32器件进行可视化的配置 然后生成CubeI
  • STM32 基础系列教程 48 – CJSON

    前言 JSON JavaScript Object Notation JS 对象简谱 是一种轻量级的数据交换格式 它基于 ECMAScript 欧洲计算机协会制定的js规范 的一个子集 采用完全独立于编程语言的文本格式来存储和表示数据 简洁
  • 基于STM32F407的摄像头(不带FIFO的OV7670)图像采集及LCD显示实验-笔记整理

    硬件说明 STM32F4开发板 stm32f4系列的芯片处理的能力可以说非常强大了的 而且内部还自带有数字摄像头接口 DCMI 可以说stm32f407的核心板和不带FIFO的摄像头模块OV7670简直就是绝配 我手上的这块张这个样子 图片
  • 基于s5pv-210开发板 LCD驱动

    lcd硬件原理 利用液晶制成的显示器称为 LCD 依据驱动方式可分为静态驱动 简单矩阵驱动以及主动矩阵驱动 3 种 其中 简单矩阵型又可再细分扭转向列型 TN 和超扭转式向列型 STN 两种 而主动矩阵型则以薄膜式晶体管型 TFT 为主流
  • STM32 基础系列教程 50 – MbedTls

    前言 mbed TLS 以前称为PolarSSL 是TLS和SSL协议的实现 并且需要相应的加密算法和支持代码 这是双重许可与Apache许可证 2 0版 与GPLv2许可也可 网站上指出 mbed TLS的目标是 易于理解 使用 集成和扩
  • 从零开始用C语言实现图片解码播放器(有源码)

    1 项目描述 1 1 项目硬件平台介绍 1 硬件平台 九鼎公司的X210开发板 S5PV210 Cortex A8内核 2 软件平台 linux2 6 35 7内核 直接基于linux API操作 1 2 项目功能介绍 1 调用编译好的可执
  • 00.mipi协议

    mipi差分信号原理 理解mipi协议 MIPI DSI LP mode命令及格式详解 MIPI信号的分析 结合示波器实际测试波形 MIPI 移动行业处理器接口 是Mobile Industry Processor Interface的缩写

随机推荐

  • HUAWEI+Eudemon1000E+防火墙+典型配置案例

    当使用consol口登入Eudemon1000E 防火墙时 如果登入失败退出可能会被锁定 提示 User interface con0 is locked 锁定的时间默认是10分钟 可以通过对con0 配置修改锁定值 设置串口console
  • 解决java.lang.RuntimeException: Can't toast on a thread that has not called Looper.prepare()

    最近在整理Android开发过程中的一些错误 话不多说 直接上错误 错误原因是自己想在网络请求成功后 弹出一个Toast提醒 但由于程序在主线程中创建handler后会创建一个looper对象 而子线程却不会 那什么时候需要looper L
  • 飞桨AI课程干货--带你开启新世界的大门!

    笔者近期体验了免费的 百度深度学习7日打卡第六期 Python小白逆袭大神 训练营 课程每天都有对应的直播 由中科院团队负责教学 每天有对应的作业贯穿其中 带你全程体验百度AI开放平台 AI Studio 飞桨PaddlePaddle Ea
  • SQL视图View的总结和使用

    实际工作当中 数据交互查询返回结果 SQL你是没办法找其他的完美替代的 但有的时候还是会遇到一些很头痛的问题需要视图view来解决 比如以下场景 view日常使用场景 场景一 有的时候 多个表并表条件查询 尤其是好几张表那种一起查询的那种
  • JS 使用正则

    在JS中如何使用正则来校验字符串 1 使用RegExpObject test string 匹配则为true否则为false 声明一个正则对象 var a 0 9 需要注意的是 a不是字符串 而是一个对象 我们可以打印下a的构造函数 没错
  • ESP32-WROVER-E无法正常写入固件

    在之前用模块下载程序都是好的 然后突然就出现了无法下载的现象 打印了他的输出都是 rst 0x10 RTCWDT RTC RESET boot 0x13 SPI FAST FLASH BOOT invalid header 0xffffff
  • 【2023】华为OD机试真题Java-题目0219-查找充电设备组合

    非常典型的动态规划问题 package com company test import java util Arrays public class Main1 public static void main String args int
  • Matlab使用LSTM网络做classification和regression时XTrain的若干种数据结构-part I

    目前看来 Deep learning的两大用途是classification和regression 以LSTM为例 它的优势在于对时序数据 sequence data 强大的处理能力 简单来说 可以用作 1 sequence to labe
  • 浅谈C++

    重载原因 C 中的运算符重载是一种特性 允许程序员定义自定义类类型的运算符操作 通过运算符重载 可以对类对象执行类似于内置类型的操作 例如加法 减法 乘法等 运算符重载通过定义特定的成员函数或非成员函数来实现 成员函数的运算符重载为类的成员
  • 【通过粒子滤波进行地形辅助导航】用于地形辅助导航的粒子滤波器和 PCRB研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 粒子滤波 Particle Filter
  • linux搭建 sftp服务 && sftp自动上传脚本

    1 新建sftp用户组 sftp 用户家目录 groupadd sftp mkdir p sftpdata sftp 2 新建sftp用户 useradd d sftpdata sftp tester m g sftp s sbin nol
  • 安装 Hana Studio

    1 从sap 官网下载下来的安装包是 sar 类型的压缩包 2 需要用专门的解压工具 SAPCAR 3 运行sapcar 工具和安装包放到英文路径下 win r 输入cmd 输入CD SAPCAR保存路径 我的保存在 出现这种 没有打开相应
  • pandas之Series()菜鸟教程

    Pandas数据结构Series 基本概念及创建 一维数组 Serise import numpy as np import pandas as pd import time Series 数据结构 Series 是带有标签的一维数组 可以
  • CUDA安装详细教程

    一 CUDA下载 CUDA官网 二 CUDA具体安装步骤 1 检查电脑的NVIDIA版本 在cmd中输入nvidia smi 注意nvidia smi中的是驱动对应的cuda最高版本 只要此版本大于等于你安装的cuda即可 若命令nvidi
  • 机器学习笔试面试超详细总结(一)

    文章目录 1 判别模型和生成模型 2 最大概率分词 3 中文分词的基本方法 4 CRF 条件随机场 的特点 5 隐马尔可夫模型 HMM 时间复杂度及可以使用的数据集 6 在二分类问题中的评价方案 7 决策树特点 8 过拟合 9 异方差性 1
  • 关于gitlab的使用1——拉取代码

    1 快速上手 1 1注册 1 2登录 1 3选择 1 4选择所要拉取代码到idea的项目 1 5 选择索要拉取的模块 1 6选择clone按钮进行操作 1 7复制ssh或者http协议地址 1 8打开idea 1 9输入协议地址和保存路径
  • 关于Ajax跨域提交时session丢失的问题

    今天在工作中遇到了一个问题 就是当使用ajax和jsonp进行跨域时 每一服务器都会在cookie里set一个新的sessionId 会将原有的sessionId覆盖 也就是说客户端对于服务器来说始终处于未登录状态 我使用谷歌浏览器是没有问
  • R语言gg3D包绘制3D图形

    本次分享一个绘图还不错的包 gg3D 2018年1月公布 一 安装包 gg3D包目前 写该文章时 在R语言官方网站还不能找到并下载 但可以通过开源的托管平台gitHub下载 运行如下代码 install packages devtools
  • React Router中useRoutes()方法的使用

    运用场景 当我们需要路由权限控制点时候 对路由数组做一些权限的筛选过滤 这时需要把路由进行集中式管理 所谓的集中式路由配置就是用一个数组统一把所有的路由对应关系写好替换本来的Roues组件 便于管理路由 更加灵活 原来的路由写法 impor
  • STM32 基础系列教程 45 - FSMC_LCD_Touch

    前言 上一节我们完成了用 STM32F4的 FSMC接口来控制 TFTLCD的显示的操作 其实正点原子的探索者F4开发板带的屏幕支持触摸操作 笔者用的是4 3寸的电容触摸屏 本节我们继续实验 来完成基于STM32的触摸屏的实验 关于触摸屏的