SWM341系列之SWM34SRET6介绍

SWM341系列的介绍

       本文介绍了华芯微特SWM341系列主要性能,和其系列之一的SWM34SRET6-50驱动4.3寸800*480 TFTLCD显示的例程应用。

图片

SWM341系列性能

      SWM341是一款基于ARM Cortex-M33的32位微控制器,片上包含精度为 1%以内的 20MHz/40MHz 时钟,最高可 倍频到 150 MHz 时钟频率,提供多种内置 FLASH/SRAM 大小可供选择,支持 ISP(在系统编程)操作及 IAP(在应用编程)。

       外设串行总线包括2路 CAN 接口,4路 UART 接口、1路USB 2.0全速(OTG)控制器、3路SPI 通信接口(支持主/从/I2S 模式选择)及 2路I2C接口(支持主/从选择),还包括1个32位看门狗定时器,5 组32位加强型定时器,12组24位基础型定时器。10路独立通道16位的 PWM 发生器。2路共计16通道12位、2.5MSPS的逐次逼近型 ADC 模块。1路 RGB888/RGB565/MPU-I8080接口的TFT-LCD 液晶驱动模块。1路SDIO 接口。一个图像硬解码器 JPEG、1路数模转换 DAC 模块、 1路RTC实时时钟以及1个外接SDRAM 接口控制模块,同时提供欠压检测及低电压复位功能。具有高性能、低功耗、代码密度大等特点,适用于家用电器、商用电器、工业控制,电机驱动等诸多应用领域。

      SWM34SRET6-50秉承了SWM341系列的功能及性能,其特点是内置了8MB的SDRAM。主要面向于TFT-LCD RGB565显示驱动应用市场,分辨率最高可达1024x1024,实际应用以800x480分辨率为主,其显示效果尤为良好,性价比突出。系统主频最高可达150MHz,SDRAM时钟频率最高140MHz,SFC接口模块驱动外置Spi-NorFlash的时钟频率最高可达系统主频。除驱动TFT-LCD显示外,还有预留ADC、PWM、DAC、SDIO、USB、I2C、UART、CAN、GPIO、SWD等扩展接口,可接各种外设应用。

图片

SWM34SRT6-50显示驱动应用

       SWM34SRET6显示开发板采用12MHz外部晶振,通过改动系统时钟配置文件,设置系统主频为140MHz,如图下图所示。

图片

UI图片的显示处理

     UI图片的存储包括在Spi-Flash中的存储和在SDRAM中的缓存。

      例程中Spi-Flash中存储的UI素材以文件方式进行存储,通过SDIO通讯接口读取SD-TF卡根目录下的UI素材文件,进而使用SFC接口拷贝复制写入到Spi-Flash(W25Q128JVSQ)中。其中,SD-TF卡的文件系统格式须要求为FAT/FAT32格式,如不是该格式,请进行格式化。需要注意,使用SPI四线通讯时,Spi-Flash本身须支持四线QSPI通讯方式。

     显示过程中,SDRAM作为LCDC功能模块和LVGL-GUI SDK显示缓存。

      在此,我们以使用LVGL图片控件显示一张UI图片素材的完整过程来举例说明:

程序中预先定义并声明 lv_img_dsc_t ‘图片变量’,其结构体类型详见下图;

图片

      从SPI-Flash中读取图片文件信息,并依此对lv_img_dsc_t “图片变量”进行赋值,再将图片的RGB像素数据拷贝至对应的SDRAM区域中,

详见load_file.c中的copy_image_from_flash_to_sdram() 

实现;

图片

图片

     此时 lv_img_dsc_t “图片变量” 的 *data 已被赋值为指向 图片实际RGB像素数据的 SDRAM区域,在未改变该区域数据的情况下,用户直接调用LVGL的API即可显示图片,

即:lv_obj_t *obj = lv_img_create(lv_scr_act(), NULL);lv_img_set_src(obj, &图片变量);

      最后请注意:当lv_img_dsc_t “图片变量” 的 *data 指向SDRAM区域内的值被改变后,须重新对lv_img_dsc_t “图片变量”赋值,以保持图片源地址的正确访问。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【leetcode】力扣热门之合并两个有序列表【简单难度】

题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 用例 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 输入:l1 [], l2 [] 输出:[] 输入:l1 []…

Go后端开发 -- 条件、循环语句 defer语句

Go后端开发 – 条件、循环语句 && defer语句 文章目录 Go后端开发 -- 条件、循环语句 && defer语句一、条件语句1.if ... else 语句2.switch语句3.select语句 二、循环语句1.for循环 三、defer语句1.defer语句的作用2.defer和return的先后顺序3.recover错误拦截…

openEuler22.0.3安装oracle11.2.0.4报错总结

openEuler是CentOS8系列魔改来的 1.xstart无法打开报错x11拒绝转义 yum install *x11* vi /etc/ssh/sshd_config X11Forwarding yes systemctl restart sshd 2.执行runinstaller报错,无论是直接无法打开界面报错: when installed in the jdk 1.2 Linux 还是打开界面报错: no o…

网络服务DHCP与DNS

一 DHCP的工作原理(租约过程) 分类 1)自动分配:分配到一个IP地址后永久使用 (2)手动分配:由DHCP服务器管理员指定IP(打印机、报销系统)把mac地址和ip地址做一个一一对…

Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin

Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin 手指在上面的图上移动,“剪切”出上面图中以手指触点为中心的图(半径图),然后在下面的ImageView显示。 impor…

C++实现简单贪吃蛇游戏

文章目录 1 开发历程2 开发思路3 使用介绍4 源文件代码5 游戏截图6 小结 1 开发历程 游戏使用C语言开发,是博主某个下午心血来潮的结果,后面又花了点时间加了计分,记录历史得分的功能。 2 开发思路 其实贪吃蛇主要难在蛇身的移动上&#x…

(C#源码)LIMS实验室信息系统,管理实验室的样本、数据、实验和设备等信息

LIMS系统,LIMS实验室信息系统源码,C# LIMS系统源码, 什么是LIMS? LIMS即实验室信息管理系统(Laboratory Information Management System),是一种专门为实验室设计的信息管理系统,用…

小程序基础学习(组件化)

(一)创建 找到components文件夹下面创建新的文件夹 然后再文件夹内创建component格式的文件 创建后这样 我创建的是my-info的文件夹以及my-info的components文件,跟着普通的页面一样 (二) 注册组件 找到你需要使用组…

leetcode:滑动窗口

目录 1.定长滑动窗口 1.1 几乎唯一子数组的最大和(使用map来计数) 1.2 长度为k子数组中的最大和 2.不定长滑动窗口 2.1 最多k个重复元素的最长子数组 2.2 绝对差不超过限制的最长连续子数组(multiset) 2.3 将x减到0的最小操作数(正难则反 逆向思维) 2.4 统计…

Developer Tools for Game Creator 1

插件包含: 持久世界时间管理系统 单击以生成对象或预设 游戏内调试控制台 游戏内事件控制台 控制台管理控制 命令模板脚本 游戏内屏幕截图 低分辨率和高分辨率图像 缩略图生成 移动支持 使用Game Creator Action或拖放来激活和控制组件,无需编码。 通过此资产,您可以获得: …

Android 15即将到来,或将推出5大新功能特性

Android15 OneUI电池优化 三星最近完成了对其所有设备的稳定版 One UI 6.0 更新的推出,引起了用户的极大兴奋。据新出现的互联网统计数据显示,即将发布的基于 Android 15 的 One UI 7 将通过优化电池和功耗来重新定义用户体验,这是一项具有突…

React之自定义路由组件

开篇 react router功能很强大,可以根据路径配置对应容器组件。做到组件的局部刷新,接下来我会基于react实现一个简单的路由组件。 代码 自定义路由组件 import {useEffect, useState} from "react"; import React from react // 路由配置 e…

【C++】C++11中的常见语法(上)

C11 一、C11简介二、统一的列表初始化1.{}初始化2. std::initializer_list 三、声明1. auto2. decltype3. nullptr 四、右值引用和移动语义1. 左值引用和右值引用2. 左值引用与右值引用比较3. 右值引用使用场景和意义4. 右值引用引用左值及其一些更深入的…

Python知识点(史上最全)

Python期末考试知识点(史上最全) python简介 Python是一种解释型语言 Python使用缩进对齐组织代码执行,所以没有缩进的代码,都会在载入时自动执行 数据类型:整形 int 无限大 浮点型 float…

概率论与数理统计-第6章 参数估计

6.1 点估计问题概述 一、点估计的概念 二、评价估计量的标准 无偏性 定义1:设^ θ(X1,…,Xn)是未知参数θ的估计量,若E(^ θ)θ,则称^θ为θ的无偏估计量定理1:设X1,…,Xn,为取自总体X的样本,总体X的均值为μ,方差为…

快速打通 Vue 3(四):标签的 ref 属性与 Vue3 生命周期

很激动进入了 Vue 3 的学习,作为一个已经上线了三年多的框架,很多项目都开始使用 Vue 3 来编写了 这一组文章主要聚焦于 Vue 3 的新技术和新特性 如果想要学习基础的 Vue 语法可以看我专栏中的其他博客 Vue(一):Vue 入…

centos 8.0 安装sysbench 1.0.17

序号步骤说明执行命令执行结果备注1 下载并解压sysbench-1.0.17.zip sysbench-1.0.17.zip2安装依赖文件 yum install automake libtool -y yum install /usr/include/libpq-fe.h 3安装sysbench cd sysbench-1.0.17 ./autogen.sh ./configure \ --prefix/sysbench \ --with-pgsq…

【Docker】Linux中Docker技术入门与实战及实用的常规命令

目录 一、引言 1. 说明: 2. Linux介绍 3. Docker简介 二、Docker三要素 1. 镜像(Image) 2. 容器(Container) 3. 仓库(Repository) 三、实现案例 1. 创建 2. 设置镜像 3. 开启设置 …

MidTool的AIGC与NFT的结合-艺术创作和版权保护的革新

在数字艺术和区块链技术的交汇点上,NFT(非同质化代币)正以其独特的方式重塑艺术品的收藏与交易。将MidTool(https://www.aimidtool.com/)的AIGC(人工智能生成内容)创作的图片转为NFT&#xff0c…

Windows启动MongoDB服务报错(错误 1053:服务没有及时响应启动或控制请求)

问题描述:修改MongoDB服务bin目录下的mongod.cfg,然后在任务管理器找到MongoDB服务-->右键-->点击【开始】,启动失败无提示: 右键点击任务管理器的MongoDB服务-->点击【打开服务】,跳转到服务页面-->找到M…