Chinaunix首页 | 论坛 | 博客
  • 博客访问: 33319
  • 博文数量: 8
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 82
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-09 17:13
文章分类

全部博文(8)

文章存档

2014年(3)

2013年(5)

我的朋友

分类: 嵌入式

2013-06-20 16:40:50

1.包含头文件 stdio.h和stdarg.h
2.实现函数
    void Uart1_printf(char *str,...)
    {
         char  buf[128];
         unsigned char i = 0;
         va_list ptr;
         va_start(ptr,str);
         vsprintf(buf,str,ptr);
         while(buf[i])
         {
             Uart1_Tx(buf[i]);
             i++;
          }
    }

int Uart1_scanf(const char *fmt,...)
{
    int i = 0;
    unsigned char c;
    va_list args;
    char buffer[1024];

    while(1)
    {
        //从串口接收字符
        c = UART_Read(1);
        //Uart1_Tx(c);
        if((c == 0x0d) || (c == 0x0a))
        {
            buffer[i] = ' ';
            break;
        }else{
            buffer[i++] = c;
        }
    }
    va_start(args,fmt);    
    i = sscanf(buffer,fmt,args);
    va_end(args);
    //send_char('r');
    //send_char('n');
    return i;
}
3.定义完这两个函数,就可以和pc上一样使用printf 和scanf了 ,别忘了打开串口调试助手哦

阅读(2995) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:stm32低功耗

给主人留下些什么吧!~~

1928asa2014-07-05 10:18:33

Uart1_Tx(buf[i]);中的Uart1_Tx是什么函数???????是不是从哪个例子上直接搬下来的代码??