博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
printf重定向问题
阅读量:5166 次
发布时间:2019-06-13

本文共 773 字,大约阅读时间需要 2 分钟。

1.使用printf库函数时,要加入头文件<stdio.h>

2.另外在keil里面需要把:use MicroLIB 勾选上,不然程序没办法在线调试。编译的时候不会报错。

3.当然可以不用库函数,自己写。正点原子里面的代码:

 //加入以下代码,支持printf函数,而不需要选择use MicroLIB

#if 1

 #pragma import(__use_no_semihosting)
 //标准库需要的支持函数
struct __FILE
{
  int handle;

};

FILE __stdout;

//定义_sys_exit()以避免使用半主机模式
_sys_exit(int x)
{
  x = x;
}
//重定义fputc函数
int fputc(int ch, FILE *f)
{
  while((USART1->SR&0X40)==0);//循环发送,直到发送完毕
  USART1->DR = (u8) ch;
  return ch;
}
#endif

/*使用microLib的方法*/

/*
int fputc(int ch, FILE *f)
{
  USART_SendData(USART1, (uint8_t) ch);

  while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) {}

  return ch;
}
int GetKey (void)

{

  while (!(USART1->SR & USART_FLAG_RXNE));

  return ((int)(USART1->DR & 0x1FF));

}
*/

转载于:https://www.cnblogs.com/itloverhpu/p/3361277.html

你可能感兴趣的文章
Centos服务器搭建(6)——安装JDK
查看>>
C语言_第二讲_规范以及常用数据类型
查看>>
RIP的缺点
查看>>
Unity最优化摘要
查看>>
类模板使用说明
查看>>
Redis源代码分析(一)--Redis结构解析
查看>>
Flex父子窗体相互调用
查看>>
改动网卡IP信息
查看>>
【Java】国内maven私服
查看>>
第三方开源水面波浪波形view:WaveView
查看>>
POJ 2251 Dungeon Master(3D迷宫 bfs)
查看>>
Linux查看和编辑文件
查看>>
MVC之 自定义过滤器(Filter)
查看>>
loadrunner controller:设置多个load generator
查看>>
关于self.用法的一些总结
查看>>
[原创.数据可视化系列之十三]idw反距离权重插值算法的javascript代码实现
查看>>
SharpDX初学者教程第2部分:创建窗口
查看>>
基于.net standard 的动态编译实现
查看>>
mssql sqlserver in 关键字在值为null的应用举例
查看>>
ArcGIS JS 学习笔记3 实现百度风格的BubblePopup
查看>>