历史上的今天
今天是:2025年07月23日(星期三)
2019年07月23日 | STM32 printf函数的调用
2019-07-23 来源:eefocus
stm32中调用 printf()函数,实质上添加对应的 int fputc(int ch, FILE *f) 函数 (如 fputc对应目标是串口则printf输在串口上,如 fputc对应目标是LCD则是输在LCD)
具体步骤如下:
1、 首先要在main文件中包含"stdio.h"(标准输入输出头文件)
2、在main文件中重定义函数
//加入以下代码,支持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;
//uart_put(ch);
return ch;
}
#endif
3.在工程属性的"target"->"code generation"选项中勾选"use microlib"
史海拾趣
|
wince c# 求替代 datagrid 的自定义控件或源码. wince c# 求替代 datagrid 的自定义控件或源码. 平台:wince vs 2008 c# vs自带的datagrid编辑表格真的是非常不好用。 行表头不行,使某列,某格不可编辑,不行。 等等 功能真的是太弱了. 求其替代控件或自定义控件. 不胜感激.… 查看全部问答> |
|
用max712为核心,设计了一个镍氢电池组充电电路,实测充电电流和资料上介绍的计算公式计算值相差很大,另外快速充电指示灯常亮不灭,电路是参考网上的,根据自己的实际情况稍微改动,现具体说明如下: 1,设计充电器支持的电池组为10节5#电池,组 ...… 查看全部问答> |
|
怎么找到一个正数第一个1前面的0的个数的VERILOG 算法 比如 16‘b0001 1011 0的个数是3,怎么用verilog去描述这个算法呢? 其实很简单: 如果是串行输入的,从低到高位,需要一个起始信号,然后用16的计数器,逐个判断即可。 如果并行数据,直接如下判断: i ...… 查看全部问答> |
|
$(\'swf_NI2\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjcyNDA1OTky/v.sw ...… 查看全部问答> |




