淘晶驰数字控件显示
最近在使用淘晶驰的屏幕进行开发,常用的数字和文本显示程序整理一下。
1、需要使用到的头文件
#include "tjcScreen.h"
#include "stdio.h"
#include "string.h"
2、串口发送函数
/*
***************************************************************
* 函数:
* 说明:
* 输入:
* 输出:
***************************************************************
*/
void TJC_TransmitData(uint8_t *p,uint8_t lenth)
{
HAL_UART_Transmit(&TJC_PORT,p,lenth,100);
}
3、结束符号添加函数
/*
***************************************************************
* 函数:TJC_AddEndFlag
* 说明:淘晶驰添加结束标志位
* 输入:p=字符串
* 输出:添加长度
***************************************************************
*/
uint8_t TJC_AddEndFlag(uint8_t *p)
{
*p++ = 0xff;
*p++ = 0xff;
*p++ = 0xff;
return 3;
}
4、数字控件显示值函数
/*
***************************************************************
* 函数:TJC_DispNum
* 说明:淘晶驰显示数字控件值,注意控件名称要与实际一致
* 淘晶驰的数字显示格式为:n0.val=1234;ASCII格式,再添加0xff,0xff,0xff结束标志
* 输入:_ucReg=控件ID,_ulNum=数值
* 输出:
***************************************************************
*/
void TJC_DispNum(uint8_t _ucReg,uint32_t _ulNum)
{
uint8_t i=0,j=0;
char buff[25]="n";
char *pBuff = buff;
j++;
pBuff = &buff[j];
i = sprintf(pBuff,"%d",_ucReg);
j += i;
pBuff = &buff[j];
strcat(pBuff,".val=");
j += 5;
pBuff = &buff[j];
i = sprintf(pBuff,"%d",_ulNum);
j += i;
pBuff = &buff[j];
i = TJC_AddEndFlag((uint8_t *)pBuff);
j += i;
TJC_TransmitData((uint8_t *)buff,j);
}
5、文本控件显示函数
/*
***************************************************************
* 函数:TJC_DispString
* 说明:淘晶驰显示文本控件值,注意控件名称要与实际一致。
* 淘晶驰的文本显示格式为:t0.txt="淘晶驰";注意双引号也需要包含,再添加0xff,0xff,0xff结束标志
* 输入:_ucReg=控件ID,pStr=字符串,lenth=字符串长度
* 输出:
***************************************************************
*/
void TJC_DispString(uint8_t _ucReg,char *pStr,uint8_t lenth)
{
uint8_t i=0,j=0;
char buff[50]="t";
char *pBuff = buff;
j++;
pBuff = &buff[j];
i = sprintf(pBuff,"%d",_ucReg);
j += i;
pBuff = &buff[j];
strcat(pBuff,".txt=");
j += 5;
buff[j++] = 0x22; /*双引号*/
pBuff = &buff[j];
strcat(pBuff,pStr);
j += lenth;
buff[j++] = 0x22; /*双引号*/
pBuff = &buff[j];
i = TJC_AddEndFlag((uint8_t *)pBuff);
j += i;
TJC_TransmitData((uint8_t *)buff,j);
}