📄 uart.c
字号:
/*******************************Copyright (c)**********************************
***************************************By Z.Q.Yang****************************/
/******************************************************************************
*文件名:uart
*功能:串口通信服务函数
*头文件:"user.h","config.h"
*作者:Z.Q.Yang
*******************************************************************************/
#include"config.h"
#include"user.h"
/******************************************************************************
*函数名:Uart
*功能:串口通信函数
*入口参数:无
*出口参数:无
*作者:Z.Q.Yang
*******************************************************************************/
void Uart(void)
{
uint8 i; /*局部变量,用于保存接受的数据*/
UART_MODE set; /*串口相关结构体变量*/
static uint8 j=0,k=0; /*局部静态变量,j为列数,k为行数*/
if(subinit==1) /*第一次进入时一些必要的设置*/
{
set.bps=115200; /*设置串口参数*/
set.stp=1;
set.datlen=8;
set.parity=0xff;
j=0;
k=0;
UARTInit(0,set); /*初始化串口*/
subinit=0;
GUIClr();
GUIPrintf(19,0,1,"This UART example!");
GUIPrintf(j*5,k*8+10,1,"_"); /*设置光标*/
LCDRefresh(GUIBuf);
}
i=UARTRevByte(0); /*读取一个数据*/
UARTSendByte(0,i); /*原封不动发回*/
if(i==8) /*为backspce时,退格*/
{
if(j==0)
{
j=24;
GUIPrintf(0,k*8+10,1,"%c",' ');
k--;
}
j--;
GUIPrintf((j+1)*5,k*8+10,1,"%c",' ');
}
else
{
if(i=='\n'||i=='\r') /*换行符换行*/
{
GUIPrintf(j*5,k*8+10,1,"%c",' ');
k++;
j=0;
}
else
{
GUIPrintf(j*5,k*8+10,1,"%c",i);
j++;
}
}
if(j==25)
{
j=0;
k++;
}
if(k==6)
{
GUIYMov(0,127,10,57,8,0); /*显示上移*/
k=5;
}
GUIPrintf(j*5,k*8+10,1,"_");
LCDRefresh(GUIBuf);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -