淘晶驰串口屏(基于STM32)怎么用

写在前面

市面上比较畅销的几款易开发触摸屏之一。成熟的生态链,简单易上手。
淘晶驰串口屏资料挺齐全(详见公司官网的资料中心);偶然的机会用了其中两款串口屏。简要介绍一下自己的使用体验和几个学习方法【基于STM32】。

淘晶驰串口屏(基于STM32)怎么用_第1张图片 =官网截图=
 

硬件

一款是电阻屏TJC8048K0系列,另一款是电容屏TCJ8048X5系列

首先电容屏触感胜出很多,其次X5系列的控件(理解为功能)也多出了很多。电阻屏类似于以前的旧手机,拿触笔戳戳戳的那种屏幕,电容屏就跟当下智能手机触摸屏差不多。挑的时候注意以下几点需求:

  • 触感
  • 可实现功能数
  • 是否带麦克风
  • 是否需要动画
  • 是否考虑文件透传

经验】:先从官网下载对应的例程,用官网的编译软件先熟悉所选款具有的功能,会不会用,够不够用。官网自带的软件有个“调试”功能相当于全真模拟一遍,用哪款就下载对应哪款的例程。

 

软件

买来遇到了很多头疼问题,主要是这个东西跟单片机通讯这一块的资料都比较老了,特别是STM32这一方面。捣鼓了半天总结了一下学习内容:一是搞定串口屏内部程序,二是搞定与单片机之间的通讯
 

1.串口屏内部程序

淘晶驰串口屏(基于STM32)怎么用_第2张图片=官网截图=

串口屏内部程序是指一切需要出现的页面动作或者数据,比如布置排版好页面的位置以及初始化各屏幕页面。举个例子比如像下图我设计的这个页面一样,先把图片插入做成背景,再设置8个图片控件,设置每个控件按下会有一个“按下事件”,这样一来相当于8个开关的作用…
淘晶驰串口屏(基于STM32)怎么用_第3张图片

经验】:所有想要实现的功能不可能全部靠我们自己敲出来,一定要去借鉴别人的优秀的模板,特别是X系列的例程,真的很棒可以帮助实现绝大部分已有的功能。推荐一个走捷径的功能,就是“页面”窗口的“导入/导出页面”这一部件,可以将别人做好的部件导入到自己的工程当中。

淘晶驰串口屏(基于STM32)怎么用_第4张图片
 

2.单片机通讯

这一块的重点就是单片机发送命令,主要注意有以下两点

  • 命令采用字符串类型发送;
  • 结尾符号就是连续发送三个字节(8 bits)0xFF;

因为这一次也只是使用了串口屏中的一小段功能,所以有关内存卡或者影音图传的经验相对少一些。主要是使用STM32发送了初始化的命令给串口屏,并且在屏幕设置了n个触摸开关。
 

/**************************************************************************
函数功能:串口屏刷新页面
入口参数:无
返回  值:无
代码说明:这一段是开机初始化代码,单片机一上电就运行该初始化代码,
使串口屏跳转到叫“主页”的页面。每一句给串口屏的指令以“0xFF 0xFF 0xFF”结束
//uint8_t Usart_hmi_Trasmt[20]={0};
**************************************************************************/
void HMISendstart(void)
{
	LED1_ON;
//	BEEP_ON;
	HAL_Delay(100);
	memcpy(Usart_hmi_Trasmt,"page 主页",100);
	HAL_UART_Transmit(&huart_hmi,Usart_hmi_Trasmt,20,1000);		//将数组Usart_hmi_Trasmt数据发送出去
	Usart_hmi_Trasmt[0]=0xff;
	HAL_UART_Transmit(&huart_hmi,&Usart_hmi_Trasmt[0],1,100);
	HAL_UART_Transmit(&huart_hmi,&Usart_hmi_Trasmt[0],1,100);
	HAL_UART_Transmit(&huart_hmi,&Usart_hmi_Trasmt[0],1,100);
	LED1_OFF;
//	BEEP_OFF;
}

 

tips】:这一次还用到了百度“语音合成”这个神奇的功能,文字转语音变得简单
最后给出整个工程的码库:https://github.com/PCNOTme/USART_HMI-.git

你可能感兴趣的:(串口屏)