高性价价比之串口控制芯片LT268B

LT268B 是一款针对小尺寸 MCU 屏所设计的 Uart 串口屏控制芯片。其内部采用 Cortex-M4 的 32bit MCU 核心架构,主要的功能就是提供 Uart 串口通讯,让主 控端 MCU 透过简易的指令就能轻易的将要显示到 TFT 屏的内容传递给小尺寸 MCU 屏上的 TFT 驱动器(Driver),LT268B 内部硬件及程序提供图形处理功能, 能够提升TFT显示效率,及降低主控端MCU处理图形显示的时间, LT268B支持 小尺寸 MCU 接口的 TFT 屏,通常是 3.5”以下、显示分辨率为 480320(HVGA) 以内,提供SPI戒8位的MCU接口。
LT268B 内部的主频可达 120MHz,含有 256KB Flash、128KB SRAM,除了提供 Uart 串口通讯,也提供一 SPI Flash接口,外接的SPIFlash可以用来储存图片、动画、字库等信息。LT268B可以配合 乐升半导体 开发的PC 上位机软件(UI_Editor / UartTFT_Tool),直接在计算机上迚产品的 UI 显示接口开发,除了提升显示效率外, 也大幅缩短 TFT 显示功能的开发周期。LT268B 内建串口指令功能包括图片显示、GIF 动画显示、循环图片显 示、开机画面显示、迚度条显示、文字符串显示、二维码产生,及几何图形显示如画线、画圆、画三角形、画 矩形等功能。LT268B 的显示功能非常适合用在有小尺寸 TFT-LCD 屏的电子产品上,如各式小家电、智能家 电、工业控制板、电子仦器、医疗设备、小型检测设备等产品。
在这里插入图片描述

功能简介
图 3-1:LT268B 内部方块图
 支持 Uart 串口屏通讯、Boudrate 达 115,200bps
 内建高效 32Bit MCU (M4 Core) 解析串口屏指令
可以支持SPI串口 /8bit并口的MCU屏
 支持外部 SPI Flash,可储存图片、动画、字库等信息
 支持图片显示、GIF 动画显示、循环图片显示、开机画面显示、迚度条显示、文字符串显示指令功能  支持画点、线、圆、三角形、矩形等绘图指令功能
 支持二维码产生器功能
 支持 UartTFT_Tool 及 UI_Editor 开发软件
 支持电阻式/电容式触控屏
 支持 USB 更新程序及更新 SPI Flash 数据功能  提供 PWM/GPIO 输出
 提供 DAC 音频输出
 提供多组 SPI/SCI 接口
 内建 RTC 时钟
 内建时钟信号源
 工作电压:3.0~3.6V
 QFN-48Pin (6mm
6mm)

LT7681/7683/7686(LT768x)是三款高效能 TFT-LCD 图形加速显示芯片。 其主要的功能就是协助 MCU 将所要显示到 TFT 屏的内容传递给 TFT 驱动 器(Driver),并且提供图形加速、PIP(Picture-in-Picture)、几何图形 绘图等功能,除了提升显示效率外,还大大的降低 MCU 处理图形显示所花 费的时间,而 LT768x 也支持非常宽广的显示分辨率,可以由 320*240 (QVGA)到 1280*1024(SXGA),显示屏则支持 16/18/24bits 的 RGB 接口。LT768x 支持各种 MCU 接口,包括 SPI、I2C 的串口,或者是 8 位、16 位并 行接口。为了达到多层次高分辨率的显示效果,LT768x 内建 128Mb 显示内 存,可以支持从每像素 1bit 的 2 灰阶到高达每像素 24bits 的 16M 颜色显示。同时要减少动画显示的 MCU 在 软件操作上的负担,LT768x 内建几何绘图引擎,支持画点、画线、画曲线、椭圆、三角形、矩形、圆角矩形等 功能,同时内嵌的硬件图形加速引擎(BTE)提供了命令类型的图形操作,如显示旋转、画面镜射、画中画(PIP/ 子母画面)及图形混合透明显示等功能,大大提升了产品的显示效能,因而能够极大程度地减轻 MCU 的软件运行 负担,如果使用高速的 SPI 接口更能减少 MCU I/O 口的需求,而不必为了 TFT 屏而去升级 MCU。LT768x 强大的 显示功能非常适合用在有 TFT-LCD 屏的电子产品上,如家电、多功能事务机、工业设备、工业控制、电子仪器、 医疗设备、人机接口、检测设备等产品。
首先,在MainActivity.java中实现以下代码: ```java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.subject_menu: showSubjectMenu(); return true; case R.id.hobby_menu: showHobbyMenu(); return true; default: return super.onOptionsItemSelected(item); } } // 显示科目菜单 private void showSubjectMenu() { PopupMenu popupMenu = new PopupMenu(this, findViewById(R.id.subject_menu)); popupMenu.getMenuInflater().inflate(R.menu.subject_menu, popupMenu.getMenu()); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.java_subject: Toast.makeText(MainActivity.this, "Java语言", Toast.LENGTH_SHORT).show(); return true; case R.id.python_subject: Toast.makeText(MainActivity.this, "Python语言", Toast.LENGTH_SHORT).show(); return true; case R.id.android_subject: Toast.makeText(MainActivity.this, "Android", Toast.LENGTH_SHORT).show(); return true; default: return false; } } }); popupMenu.show(); } // 显示爱好菜单 private void showHobbyMenu() { PopupMenu popupMenu = new PopupMenu(this, findViewById(R.id.hobby_menu)); popupMenu.getMenuInflater().inflate(R.menu.hobby_menu, popupMenu.getMenu()); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.sports_hobby: Toast.makeText(MainActivity.this, "运动", Toast.LENGTH_SHORT).show(); return true; case R.id.study_hobby: Toast.makeText(MainActivity.this, "学习", Toast.LENGTH_SHORT).show(); return true; case R.id.read_hobby: Toast.makeText(MainActivity.this, "看书", Toast.LENGTH_SHORT).show(); return true; case R.id.climb_hobby: Toast.makeText(MainActivity.this, "爬山", Toast.LENGTH_SHORT).show(); return true; default: return false; } } }); popupMenu.show(); } } ``` 其中,onCreateOptionsMenu方法用于加载菜单布局文件,onOptionsItemSelected方法用于处理菜单项点击事件。showSubjectMenu方法和showHobbyMenu方法分别用于弹出科目菜单和爱好菜单,并且为每个菜单项设置点击事件,使用Toast提示菜单项的内容。 接下来,在res/menu文件夹下,创建以下三个菜单布局文件: 1. main_menu.xml(主菜单) ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/subject_menu" android:title="科目" android:icon="@drawable/ic_menu_subject" android:showAsAction="always" /> <item android:id="@+id/hobby_menu" android:title="爱好" android:icon="@drawable/ic_menu_hobby" android:showAsAction="always" /> </menu> ``` 2. subject_menu.xml(科目菜单) ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/java_subject" android:title="Java语言" android:icon="@drawable/ic_menu_java" /> <item android:id="@+id/python_subject" android:title="Python语言" android:icon="@drawable/ic_menu_python" /> <item android:id="@+id/android_subject" android:title="Android" android:icon="@drawable/ic_menu_android" /> </menu> ``` 3. hobby_menu.xml(爱好菜单) ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/sports_hobby" android:title="运动" android:icon="@drawable/ic_menu_sports" /> <item android:id="@+id/study_hobby" android:title="学习" android:icon="@drawable/ic_menu_study" /> <item android:id="@+id/read_hobby" android:title="看书" android:icon="@drawable/ic_menu_read" /> <item android:id="@+id/climb_hobby" android:title="爬山" android:icon="@drawable/ic_menu_climb" /> </menu> ``` 其中,ic_menu_subject、ic_menu_hobby、ic_menu_java、ic_menu_python、ic_menu_android、ic_menu_sports、ic_menu_study、ic_menu_read、ic_menu_climb是自定义的菜单图标,可以根据实际情况进行修改。 最终实现效果如下图所示: ![menu_demo](https://user-images.githubusercontent.com/1649961/132389334-0b5e6c0f-1b8d-4d1c-9e64-268b0e81f3cf.gif)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值