分类:
2009-09-09 12:21:09
该源码见44blib.c中
如下:
void Uart_GetString(char *string) //该函数具有回送功能~
{
char *string2 = string;
char c;
while((c = Uart_Getch())!=''''\r'''') //判断是否是回车符
{
if(c==''''\b'''') //如果是退格键
{
if( (int)string2 < (int)string )
{
Uart_Printf("\b \b");
string--;
}
}
else
{
*string++ = c;
Uart_SendByte(c);
}
}
*string=''''\0''
Uart_SendByte(''''\n''''); //回车换行
}
主要功能:从接收移位器里面获得一个一个字符。。组成一个字符串~放到FIFO或用户定义的BUF中,最后获得字符串应放在string中。
string2的作用:作用主要就是判断\b原string的一个拷贝。。便于判断~~
如下假设:
开始时
string =0x40;
string2=string;
如果 c !=’\r'''' 不等于\b
string++ 等于0x41.。
多else几次后,设string=0x50;
如果c==\b
stirng2string-- =0x4f
实现退格~
最后跟上\n结束