Chinaunix首页 | 论坛 | 博客
  • 博客访问: 683208
  • 博文数量: 90
  • 博客积分: 1631
  • 博客等级: 上尉
  • 技术积分: 1413
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-15 22:43
文章分类
文章存档

2017年(8)

2016年(9)

2015年(11)

2014年(10)

2013年(9)

2012年(9)

2010年(2)

2009年(10)

2008年(22)

我的朋友

分类:

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结束

阅读(3376) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~