本帖最后由 dawei360 于 2014-5-27 00:18 编辑
printf 函数实在是太好用了,怎么利用串口重定向使用Printf 函数呢?
1、添加头文件#include “stdio.h”
2、51 中串口重定向:只需要在初始化完串口后,添加TI=1;
3、STM32 中的使用:
int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (uint8_t) ch);
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
return ch;
}
修改一下选中Use MicroLIB Target——Code Generation——选中Use MicroLIB
4、arm9 中的重定向:以S3C2416为例子,
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
void Uart_Printf(char *fmt,...)
{
__va_list ap;
char string[1024];
va_start(ap,fmt);
vsprintf(string,fmt,ap);
va_end(ap);
Uart_0_SendString(string); //default send from uart0
} |