当前位置: 首页 > news >正文

STM32.printf

printf("\r\n this is a usart printf demo \r\n");

Use Micro LIB 需要勾选这个库

将串口定义成 printf 函数

#include <stdio.h>
//重定向C库函数printf到USART1
int fputc(int ch, FILE *f)
{
        /* 发送一个字节数据到USART1 */
        USART_SendData(USART1, (uint8_t) ch);
        
        /*等待发送完毕  */
        while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);        
    
        return (ch);
}

///重定向C库函数scanf到USART1
int fgetc(FILE *f)
{
        /* 等待串口1输入数据 */
        while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);

        return (int)USART_ReceiveData(USART1);
}

 

或者

#ifdef __GNUC__
  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
     set to 'Yes') calls __io_putchar() */
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */

 


 

转载于:https://www.cnblogs.com/Ph-one/p/4006331.html

相关文章:

  • STM32各个文件介绍、uCOSII文件介绍
  • Cortex-M3基础
  • Program Size
  • KEIL中常见问题
  • LM2596、LM2576
  • STM32硬件IIC
  • CP2102
  • SMBus
  • 0x30、0x37
  • MOV/MOVX/MOVC、RAM/ROM
  • 固态硬盘的好处以及固态硬盘和普通硬盘的区搜索别
  • ⭐⭐堆和栈的区别
  • STM32电源管理
  • 'telnet'不是内部或外部命令,怎么办?
  • 陶瓷天线
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【css3】浏览器内核及其兼容性
  • CSS 三角实现
  • docker容器内的网络抓包
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • golang 发送GET和POST示例
  • HTML中设置input等文本框为不可操作
  • JavaScript-Array类型
  • maya建模与骨骼动画快速实现人工鱼
  • ng6--错误信息小结(持续更新)
  • react 代码优化(一) ——事件处理
  • React+TypeScript入门
  • vue--为什么data属性必须是一个函数
  • Xmanager 远程桌面 CentOS 7
  • 大数据与云计算学习:数据分析(二)
  • 今年的LC3大会没了?
  • 开发基于以太坊智能合约的DApp
  • 排序算法之--选择排序
  • 前嗅ForeSpider教程:创建模板
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 时间复杂度与空间复杂度分析
  • 译米田引理
  • 用jQuery怎么做到前后端分离
  • Java数据解析之JSON
  • 说说我为什么看好Spring Cloud Alibaba
  • # 透过事物看本质的能力怎么培养?
  • #《AI中文版》V3 第 1 章 概述
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (¥1011)-(一千零一拾一元整)输出
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (4)(4.6) Triducer
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)hibernate配置管理
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (四)linux文件内容查看
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (算法)求1到1亿间的质数或素数
  • (一)基于IDEA的JAVA基础1