当前位置: 首页 > news >正文

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 “图片变量”赋值,以保持图片源地址的正确访问。

相关文章:

  • 2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑤
  • springboot项目创建及采用本地tomcat打包发布
  • 点击按钮唤起微信
  • 【牛客网】BC68 X形图案
  • Linux截图方法推荐
  • 126.(leaflet篇)leaflet松散型arcgis缓存切片加载
  • 水和冰一起进微波炉会怎样?不会还有人不知道吧
  • macOS 老版本系统恢复中出现“MacBook Pro无法与恢复服务器取得联系”
  • Android Studio 最新版本首次下载和安装以及汉化教程【+第二次安装使用教程】
  • 印象笔记05:如何打造更美的印象笔记超级笔记
  • 类似东郊到家上门预约系统需要具备哪些功能,预约系统应该怎么做
  • uniapp日期加减切换,点击切换
  • 浏览器不支持 css 中 :not 表达式的解决方法
  • 【算法专题】动态规划之斐波那契数列模型
  • 机器学习 -- 余弦相似度
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  •  D - 粉碎叛乱F - 其他起义
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Java读取Properties文件的六种方法
  • js作用域和this的理解
  • Redis的resp协议
  • spring + angular 实现导出excel
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • SQLServer插入数据
  • Sublime Text 2/3 绑定Eclipse快捷键
  • text-decoration与color属性
  • 浏览器缓存机制分析
  • 算法-插入排序
  • 优秀架构师必须掌握的架构思维
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (13):Silverlight 2 数据与通信之WebRequest
  • (4.10~4.16)
  • (pytorch进阶之路)扩散概率模型
  • (三)elasticsearch 源码之启动流程分析
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)fock函数详解
  • (转)Mysql的优化设置
  • (转)Sql Server 保留几位小数的两种做法
  • . Flume面试题
  • .NET Remoting学习笔记(三)信道
  • .net知识和学习方法系列(二十一)CLR-枚举
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [CLickhouse] 学习小计
  • [flume$2]记录一个写自定义Flume拦截器遇到的错误
  • [IOI2007 D1T1]Miners 矿工配餐
  • [ISCTF 2023]——Web、Misc较全详细Writeup、Re、Crypto部分Writeup
  • [k8s系列]:kubernetes·概念入门