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;
 
}
相关推荐
Deitymoon7 小时前
STM32——振动传感器控制继电器
stm32·单片机·嵌入式硬件
0xR3lativ1ty7 小时前
大模型算法原理高频题解析
算法
故事还在继续吗7 小时前
STL 容器算法手册
开发语言·c++·算法
田梓燊7 小时前
力扣:94.二叉树的中序遍历
数据结构·算法·leetcode
weisian1517 小时前
Java并发编程--48-美团Leaf与百度UidGenerator:分布式ID生成器的工业级实践
java·leaf号段模式·leaf雪花模式·uidgenerator
啊我不会诶7 小时前
2023西安邀请赛vp补题
c++·算法
khalil10207 小时前
代码随想录算法训练营Day-38动态规划06 | 322. 零钱兑换、279.完全平方数、139.单词拆分、多重背包、总结
数据结构·c++·算法·leetcode·动态规划
郝开7 小时前
Spring Cloud Gateway 3.5.14 使用手册
java·数据库·spring boot·gateway
jimy17 小时前
C语言历史版本和gnu扩展版本
c语言·算法·gnu
shehuiyuelaiyuehao7 小时前
关于算法14,15解决一些问题
算法