准备工作
1.点击魔法棒,打开工程选项
2.点击target,勾选Use MicroLIB
一、单串口可用
//对printf重定向到串口
1.在串口模块,串口头文件中添加
#include <stdio.h>
2.重写fputc函数,无需在串口头文件中声明该函数
//重写fputc函数
int fputc(int ch, FILE *f)
{
Serial_SendByte(ch);
return ch;
}
3.测试:在主函数中使用printf函数,并在串口中打印。
二、多串口可用
//直接在主函数中使用
char string[100]; //定义字符串
sprintf(string,"Num=%d\r\n",789); //打印到字符串
Serial_SendString(string); //发送字符串
测试:
三、封装sprintf函数
1.在串口模块中添加头文件
#include <stdarg.h>
2.封装,并在串口头文件中声明
void Serial_Printf(char *format, ...)
{
char String[100];
va_list arg; //定义一个参数列表变量
va_start(arg,format); //format接收参数表,放入arg
vsprintf(String,format,arg); //(打印位置,格式化字符串,参数表)
va_end(arg); //释放参数表
Serial_SendString(String);
}
3.在主函数中调用Serial_Printf(),并在串口打印