STM32中用printf代替uart打印数据的方法

发布者:码字探险最新更新时间:2016-08-08 来源: eefocus关键字:STM32中  printf  uart  打印数据 手机看文章 扫描二维码
随时随地手机看文章
.在程序中添加:(头文件需要添加#include 

#ifdef __GNUC__ 
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch) 
#else 
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) 
#endif  
PUTCHAR_PROTOTYPE 

USART_SendData(USART1, (u8) ch); 
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); 

return ch; 

 

IAR:出现identifier "FILE" is undefined,工程option中,如下选折:

 

需要在的Options -> General Options ->Library Configuration里设置一下函数库,不然printf函数不对,将Library Configuration 中的Library 设置由"Normal"改为"Full"就可以了。


KEIL:在工程属性的 “Target" -> "Code Generation" 选项中勾选 "Use MicroLIB"”
关键字:STM32中  printf  uart  打印数据 引用地址:STM32中用printf代替uart打印数据的方法

上一篇:KEIL MDK直接生成BIN
下一篇:基于STM32F105微控制器的双CAN冗余的方案设计

推荐阅读最新更新时间:2024-03-16 15:04

STM32 USATR固件库定义的几个中断标志的含义
在stm32f10x_usart.h中有以下宏定义: #define USART_IT_PE ((uint16_t)0x0028) #define USART_IT_TXE ((uint16_t)0x0727) #define USART_IT_TC ((uint16_t)0x0626) #define USART_IT_RXNE ((uint16_t)0x0525) #define USART_IT_IDLE ((uint16_t)0x0424) #define USART_IT_LBD ((uint16
[单片机]
s3c2440裸机-UART编程(一、UART硬件介绍及传输原理)
1.uart硬件介绍UART的全称是Universal Asynchronous Receiver and Transmitter(异步收发器)。 uart主要用于: 1.打印调试 2.数据传输 串口通过三根线即可,发送、接收、地线。 pc的TxD - arm的RxD (UART write) arm的TxD - pc的RxD (UART read) 2.uart的参数和格式 波特率:表示每秒传输多少bit,bits per second(bps).一般波特率都会有9600,19200,115200等选项。 格式: 起始位: 先发出一个逻辑”0”的信号,表示传输数据的开始。 数据位:可以是5~8位逻辑”0”或”1”。一般7
[单片机]
s3c2440裸机-<font color='red'>UART</font>编程(一、<font color='red'>UART</font>硬件介绍及传输原理)
FL2440 UART的用法
UART原理说明: 通用异步收发器简称UART,即 Universal Asynchronous Receiver Transmitter ,它用来传输串行数据:发送数据时,CPU将并行数据写入UART,UART按照一定格式在一根电线上串行发出;接收数据时,UART检测另一根电线上的信号,将串行数据放在缓冲区中,CPU即可读取UART获得的数据。UART之间以全双工方式传输数据,最精简的连线方式只有三根电线:TxD用于发送数据,RxD用于接收数据,Gnd用于给双方提供参考电平。连线如下图所示: 为了增强数据的抗干扰能力、提高数据传输长度,通常将TTL/CMOS逻辑电平转换为RS-232逻辑电平,3~12V表示0,-3
[单片机]
FL2440 <font color='red'>UART</font>的用法
【Linux 移植 】——3、移植 u-boot-2012.04.01 之 修改代码(时钟,SDRAM,UART
二、移植 u-boot.2012.04.01 之修改代码(时钟、SDRAM,UART) 1、新 建一个单板 pre name= code class= cpp cd board/samsung/ cp smdk2410 smdk2440 -rf cd ../../include/configs/ cp smdk2410.h smdk2440.h 修改boards.cfg: 仿照 smdk2410 arm arm920t - samsung s3c24x0 添加: smdk2440 arm arm920t - samsu
[单片机]
【Linux 移植 】——3、移植 u-boot-2012.04.01 之 修改代码(时钟,SDRAM,<font color='red'>UART</font>)
如何使用STM32的assert_param
在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义; 在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。 所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参数大于3, 则这个assert_param()可以在运行的程序调用到这个函数时报告错误,使程序员可以及时发现错误,而不必等到程序运行结果的错误而大费周折。 这是一种常见的软件技术,可以在调试阶段帮助程序员快速地排除那些明显的错误。 它确实在程序的运行上牺牲了效率(但只是在调
[单片机]
STM32】HAL库 STM32CubeMX教程四---UART串口通信详解
前言: 今天我们学习STM32CubeMX串口的操作,以及HAL库串口的配置,我们会详细的讲解各个模块的使用和具体功能,并且基于HAL库实现Printf函数功能重定向,UART中断接收,本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM32F4xxHAL库 5、串口: 使用USART1 PA9,PA10 知识概括: 通过本篇博客您将学到: STM32CubeMX创建串口例程 HAL库UATR函数库
[单片机]
【<font color='red'>STM32</font>】HAL库 STM32CubeMX教程四---<font color='red'>UART</font>串口通信详解
如何在STM32要实现数据通讯
在stm32中要实现数据通讯,首先要设置相关的寄存器,这里不做相关的介绍,直接说代码相关的能内容及相关函数对应的用法。 直接上代码。 1.串口通讯代码 usart.h #ifndef __USART_H #define __USART_H #include stdio.h #include sys.h #define USART_REC_LEN 200 //定义最大接收字节数 200 #define EN_USART3_RX 1 //使能(1)/禁止(0)串口1接收 extern u8 USART_RX_BUF ; //接收缓冲,最大USART_REC_LEN个字节.末字节为换行符 ex
[单片机]
如何在<font color='red'>STM32</font><font color='red'>中</font>要实现<font color='red'>数据</font>通讯
cortex m0 lpc1114 串口uart查询收发数据
LPC1114有一个串口,具备标准9针串口的所有功能引脚: RXD、TXD、RTS、CTS、DTR、DSR、DCD、IR 一般情况下,我们只用到RXD和TXD。在这一章,只对RXD和TXD的使用做介绍。 可以用于程序下载。 可以设置奇校验、偶校验、无校验。 可以设置数据位为5~8,可以设置停止位为1、1.5、2。 具有自动波特率检测功能。 查询方式串口收发数据 新建一个工程,结构如下图所示: 在uart.h文件中,输入以下代码: #ifndef __NXPLPC11XX_UART_H__ #define __NXPLPC11XX_UART_H__ extern uint8_t Recived_data; exte
[单片机]
cortex m0 lpc1114 串口<font color='red'>uart</font>查询收发<font color='red'>数据</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved