⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usart_printf.c

📁 STM32 三个串口同时使用(232/232/485)
💻 C
字号:
/****************************************************************************
* Copyright (C), 2010 安富莱电子 www.armfly.com
*
* 文件名: usart_printf.c
* 内容简述: 本模块实现printf和scanf函数重定向到串口1
*	实现重定向,只需要添加2个函数
		int fputc(int ch, FILE *f);
		int fgetc(FILE *f);
*
* 文件历史:
* 版本号  日期       作者    说明
* v0.1    2009-12-27 armfly  创建该文件
*
*/

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include <stdio.h>
#include "uart_api.h"

/*******************************************************************************
	函数名:PrintfLogo
	输  入: 例程名称和例程最后更新日期
	输  出:
	功能说明:
*/
void PrintfLogo(char *strName, char *strDate)
{
	printf("*************************************************************\n\r");
	printf("* Example Name : %s\r\n", strName);
	printf("* Update Date  : %s\r\n", strDate);
	printf("* StdPeriph_Lib Version : V3.1.2\n\r");
	printf("* \n\r");
	printf("* Copyright www.armfly.com \r\n");
	printf("* QQ    : 1295744630 \r\n");
	printf("* Email : armfly@qq.com \r\n");
	printf("*************************************************************\n\r");
}

/*******************************************************************************
	函数名:fputc
	输  入:
	输  出:
	功能说明:
	重定义putc函数,这样可以使用printf函数从串口1打印输出
*/
int fputc(int ch, FILE *f)
{
	comSendChar(COM1, (uint8_t)ch);
	return ch;
}

/*******************************************************************************
	函数名:fgetc
	输  入:
	输  出:
	功能说明:
	重定义getc函数,这样可以使用scanff函数从串口1输入数据
*/
int fgetc(FILE *f)
{
	uint8_t ch;
	
	/* 等待串口1输入数据 */
	while (comGetChar(COM1, &ch) == 0);

	return (int)ch;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -