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

📄 bsp_printf.c

📁 STM32的GPIO口模拟串口通信
💻 C
字号:
/*
*********************************************************************************************************
*	                                  
*	模块名称 : printf模块    
*	文件名称 : bsp_printf.c
*	版    本 : V2.0
*	说    明 : 实现printf和scanf函数重定向到串口1,即支持printf信息到USART1
*				实现重定向,只需要添加2个函数:
*				int fputc(int ch, FILE *f);
*				int fgetc(FILE *f);
*				对于KEIL MDK编译器,编译选项中需要在MicorLib前面打钩,否则不会有数据打印到USART1。
*				
*				这个c模块无对应的h文件。
*
*	修改记录 :
*		版本号  日期       作者    说明
*		v1.0    2011-02-11 armfly  ST固件库升级到V3.4.0版本。
*		v2.0    2011-10-16 armfly  ST固件库升级到V3.5.0版本。
*
*	Copyright (C), 2010-2011, 安富莱电子 www.armfly.com
*
*********************************************************************************************************
*/

#include "stm32f10x.h"
#include <stdio.h>

/*
*********************************************************************************************************
*	函 数 名: fputc
*	功能说明: 重定义putc函数,这样可以使用printf函数从串口1打印输出
*	形    参: 无
*	返 回 值: 无
*********************************************************************************************************
*/
int fputc(int ch, FILE *f)
{
	extern void SendOneByte(char datatoSend);
	/* 写一个字节到USART1 */
	//USART_SendData(USART1, (uint8_t) ch);
	SendOneByte((uint8_t) ch);
	/* 等待发送结束 */
	//while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET)
	{}

	return ch;
}

/*
*********************************************************************************************************
*	函 数 名: fgetc
*	功能说明: 重定义getc函数,这样可以使用scanff函数从串口1输入数据
*	形    参: 无
*	返 回 值: 无
*********************************************************************************************************
*/
int fgetc(FILE *f)
{
	/* 等待串口1输入数据 */
	while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);

	return (int)USART_ReceiveData(USART1);
}

⌨️ 快捷键说明

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