STM32串口屏应用

今天搞到一块串口屏,真的是打开了一个新世界的大门。不禁感慨,这么好的东西,怎么现在才知道呢,悔了悔了。
在这里插入图片描述
型号TJC4827T043_011。
一开始上手的时候一脸闷逼,这玩意怎么用。但是这块屏的资料很丰富,手把手教学,稍微掌握一点基础以后,就开始了开头的感慨。
真香。
串口控制,简单方便。
只需4线,相比lcd简直是吊打。
可以自己开发ui界面,而且软件是全中文的,贼友好。
可以将按键集成到屏幕中。
。。。。。。
可能还有其他很多作用,目前还没发现。
后续如果有新的感受,再更新。


之前只是初步的应用烧烧例程之类的,真正的应用肯定是要和设备进行通讯的。
STM32与串口屏通讯分为两个部分,一个是发送部分,一个是接收部分。
发送部分较为简单,只需要通过串口向串口屏发送符合串口屏语法要求的指令就可以了。

u8 end[] = {0xff, 0xff, 0xff};

void U2LCD_Send_End(void)
{
	USART2_SendString(end);
}
void ulcd_send(void){
	//
	USART2_SendString((u8*)"page0.t1.txt=\"key2\"");
	U2LCD_Send_End();
	//
}

接收就比较麻烦了,要判断串口数据进行存储和解析。本来我想通过定时器的定时来判断数据包接收完成,后来程序没有调出来。最后采用正点原子的接收方法。
串口接收部分不贴出来了,仅展示串口解析部分。

void USART2_Rece_Cope(void)	
{
	u8 len;
	if(USART_RX_STA&0x8000)
	{		
		//USART2_SendString(USART_RX_BUF);
		len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
		if(USART_RX_BUF[0] == 'k')
			if( USART_RX_BUF[1] == 'e')
				if( USART_RX_BUF[2] == 'y')
				{
					if( USART_RX_BUF[3] == '2')
					{
						USART2_SendString((u8*)"page0.t1.txt=\"key2\"");
						U2LCD_Send_End();
					}
					else if( USART_RX_BUF[3] == '1')
					{
						USART2_SendString((u8*)"page0.t1.txt=\"key1\"");
						U2LCD_Send_End();
					}
				}					
		USART_RX_STA=0;
	}
}

其实通过字符串函数能够更好地处理,但是因为较为简单,就没采用(其实是懒)。


都看到这儿了,点个赞吧!

  • 21
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值