【嵌入式学习笔记】---- printf重定向
1 stdio.h所包含的常用函数
- printf:打印已经格式化字符串到标准输出流
- scanf:从标准输出流读取指定格式的数据
- putchar:向标准输出流写一个字符
- puts:向标准输出流写一个字符串
- ...
2 printf的使用
2.1 常用输出控制符
2.2 常用转义字符
3 printf函数输出流程
printf重定向:用户根据最终输出的硬件重新定义fputc()函数
4 printf函数支持
4.1 避免半主机模式
半主机模式:用于ARM目标的一种机制;就是通过仿真器实现开发板在电脑上的输入输出【一般情况下,不使用该模式】
4.1.1 方法一:通过微库法避免半主机模式
进入keil的魔术棒界面,在Target设置里勾选Use MicroLIB
4.1.2 方法二:通过代码法避免半主机模式
(挖个坑,后面补回来)
4.2 实现fputc函数
即对函数进行重定向操作
#include "stdio.h"
//重定向scanf
int fgetc(FILE *f)
{
uint8_t ch=0;
HAL_UART_Receive(&huart2,&ch,1,0xffff);
return ch;
}
//重定向printf
int fputc(int ch,FILE *f)
{
uint8_t temp[1]={ch};
HAL_UART_Transmit(&huart2,temp,1,2);
return ch;
}
本文来自博客园,作者:晚风也温柔,转载请注明原文链接:https://www.cnblogs.com/zxr-blog/p/17958823