stm32 printf重定向到USART

在stm32中无法直接使用printf()函数,需要1、使用fputc() 进行重定向 2、在keil中 Options-Target-UseMicroLIB勾选上。

1、寄存器

cpp 复制代码
int fputc(int ch, FILE *f)
{
  while((USART1->SR & USART_FLAG_TXE) == RESET);
  USART1->DR = (ch & (uint16_t)0x01FF);
  return ch;
}

2、标准库函数

cpp 复制代码
int fputc(int ch,FILE *f) 
 
{
 
 USART_SendDate(USART1,(u8)ch);
 
 while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
 
 return ch;
 
}
相关推荐
Chase_______1 天前
【Java基础核心知识点全解·01】Java运行机制详解:从 HelloWorld 到 classpath 找类流程
java·开发语言·python
ECT-OS-JiuHuaShan1 天前
什么是认知,认知的本质是什么?
数据库·人工智能·算法·机器学习·数学建模
Black蜡笔小新1 天前
自动化AI算法训练服务器DLTM:筑牢数据安全底座,赋能企业AI高效安全落地
人工智能·算法·自动化
月殇_木言1 天前
算法进阶(上)
算法
c++之路1 天前
外观模式(Facade Pattern)
算法·外观模式
MicroTech20251 天前
量子退火赋能金融,MLGO微算法科技构建量子金融生态
科技·算法·金融
未若君雅裁1 天前
SpringMVC 执行流程详解
java·spring boot·spring·状态模式
晨曦中的暮雨1 天前
4.16滴滴 AIOT 一面|面经
java·算法
Dicky-_-zhang1 天前
系统容量规划与压测实战:从1万到100万QPS的科学扩容
java·jvm
BirdenT1 天前
20260519紫题训练
c++·算法