串口屏介绍
串口屏通常指的是一种带有串口接口的显示屏,可以通过串口与其他设备进行通信和控制。这种屏幕通常具有独立的控制器和显示功能,可以直接接入主控系统,实现信息的显示和交互。
开发步骤
- 准备UI素材
准备了100张音量的图标,这里面还遇到了个小问题,这么多图片如何批量改名字是个头疼的事情,这里要感谢给我批量改名的神器
- 利用官方的工具创建工程
https://developer.flythings.cn/zh-hans/docs_brief.html
3. 烧录到串口屏中
4. 编写调用程序
程序非常简单、简单的串口协议
指令有很多 我仅需要全屏贴图指令 所以只写了这个程序
简单协议代码具体如下
#include <stdio.h>
#include <stdint.h>
//TX_Buff[0] 帧头
//TX_Buff[1] 帧头
//TX_Buff[2] 长度【CMD+DATA】
//TX_Buff[3] CMD 0x10
//TX_Buff[4] DATA0 0x00
//TX_Buff[5] DATA1 0x00
//TX_Buff[6] 校验 【CMD+DATA】&【0xFF】
uint8_t TX_Buff[7]={0xFF,0xAA,0x03,0x10,0x00,0x00,0x00};
uint8_t TX_CheckSum(uint8_t *Buf, uint8_t len) //buf为数组,len为数组长度
{
uint8_t index = 0;
uint8_t ret = 0;
for (index = 0; index < len; index++)
{
ret += *(Buf++);
}
ret = ret&0xFF;
return ret;
}
int main(void)
{
int i;
int j;
for(i = 0;i<100;i++)
{
TX_Buff[5] = i;
TX_Buff[6]=TX_CheckSum(&TX_Buff[3],TX_Buff[2]);
for(j = 0;j<7;j++)
{
printf("%02X ",TX_Buff[j]);
}
printf("\r\n");
}
}
在单片机上移植
就是把组好的数据通过串口发给屏幕、注意限幅,总共就一百张照片 不能调用没有的图片
void UI_Show(uint8_t uid)
{
uint16_t j;
TX_Buff[5] = uid;
TX_Buff[6]=TX_CheckSum(&TX_Buff[3],TX_Buff[2]);
for(j = 0;j<7;j++)
{
HAL_UART_Transmit (&huart1 ,(uint8_t *)&TX_Buff[j],1,HAL_MAX_DELAY );
}
}
串口屏的应用场景总结:
嵌入式系统人机界面:用作嵌入式系统的人机界面(HMI),显示系统状态、参数调节等信息。
工业控制:作为工业控制设备的显示器,显示设备运行状态、报警信息等。
智能家居:用于智能家居系统的显示控制,如显示温度、湿度等环境信息。
广告机:作为广告机的显示屏,显示广告内容和交互式操作。
医疗设备:用作医疗设备的显示器,显示患者信息、医疗数据等。
结语
串口屏由于具有简单、灵活、易于控制等特点,为设备的信息显示和交互提供了便利。
效果
B站视频