让单片机直接支持printf函数
2017-07-09 18:27
211 查看
在使用单片机的时候经常需要使用到UART输出一些调试信息。通常情况下是自己写一些类似UART_SendChar();或者UART_SendString();之类的函数。但是这种有时候对于输出的格式支持并不是很好。而且移植起来也不方便。
其实只要重定向printf函数就可以了。在KEIL里面不需要勾选 use Micro LIB
#pragma import(__use_no_semihosting) //
struct __FILE
{
int handle;
/* Whatever you require here. If the only file you are using is */
/* standard output using printf() for debugging, no file handling */
/* is required. */
};
/* FILE is typedef¡¯ d in stdio.h. */
FILE __stdout;
_sys_exit(int x)
{
x = x;
}
int fputc(int ch, FILE *f)
{
while((USART1->SR&0X40)==0);//这里是和单片机有关的串口输出 不同单片机写法不一样
USART1->DR = (u8) ch;
return ch;
}
其实只要重定向printf函数就可以了。在KEIL里面不需要勾选 use Micro LIB
#pragma import(__use_no_semihosting) //
struct __FILE
{
int handle;
/* Whatever you require here. If the only file you are using is */
/* standard output using printf() for debugging, no file handling */
/* is required. */
};
/* FILE is typedef¡¯ d in stdio.h. */
FILE __stdout;
_sys_exit(int x)
{
x = x;
}
int fputc(int ch, FILE *f)
{
while((USART1->SR&0X40)==0);//这里是和单片机有关的串口输出 不同单片机写法不一样
USART1->DR = (u8) ch;
return ch;
}
相关文章推荐
- 让单片机直接支持printf函数
- 让单片机直接支持printf函数
- 让单片机直接支持printf函数
- 让单片机直接支持printf函数
- 让单片机直接支持printf函数
- 让单片机直接支持printf函数
- 让单片机直接支持printf函数
- 让单片机直接支持printf函数
- Eclipse支持printf()函数吗?
- C和指针之函数之实现简单的printf函数(支持%d, %f, %c, %s)
- 让单片机直接支持printf函数
- 使用未公开关键字在 C# 中导入外部 printf 等参数数量可变函数 [1] CLR 支持
- 让单片机直接支持printf函数
- 让单片机直接支持printf函数
- win32 下 支持浮点的printf系列函数
- printf 函数的原理以及在单片机上重定向至LCD12832的实现
- 使用未公开关键字在 C# 中导入外部 printf 等参数数量可变函数 [1] CLR 支持
- 单片机中printf函数的重映射
- 单片机 printf函数的查看使用
- 单片机printf函数重定向