stm32之12.如何使用printf打印输出

主函数增加这些代码即可实现printf打印输出

需要添加头文件

#include "stdio.h"


源码

struct __FILE { int handle; /* Add whatever you need here */ };

FILE __stdout;

FILE __stdin;

int fputc(int c, FILE *f)

{

/* 发送一个字节 */

USART_SendData(USART1,c);

/* 等待发送完毕 */

while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET);

/* 返回发送的字符 */

return c;

}

int main(void)

{

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);

//抢占优先级0~3,支持4级!

//响应优先级0~3,支持4级!

key_init();

Led_init();

//初始化串口1波特率位115200bps,若发送/接收数据有乱码,请检查PLL

usart1_init(115200);

usart1_send_str("hello5555\r\n");

printf("请求");

while(1){

}

}

相关推荐
嵌入式ZYXC1 分钟前
第8篇:《面试题:模拟地和数字地为什么要分开?怎么接?》
stm32·单片机·嵌入式硬件·面试·职场和发展
QiLinkOS2 分钟前
极客与商业思维的融合实践(1)
c语言·数据库·c++·人工智能·算法·开源协议
fu的博客5 分钟前
【数据结构16】图:基于邻接矩阵、邻接表实现DFS/BFS
数据结构·算法
阿正的梦工坊11 分钟前
【Rust】17-Send、Sync 与并发安全抽象
算法·安全·rust
plainGeekDev14 分钟前
算法刷题笔记:一维DP没那么难,状态想清楚就赢了一半
java·算法·面试
头枝17 分钟前
ARM Cortex-M DWT CYCCNT 必须显式初始化,jlink调试时正常,使用时异常的问题
arm开发·stm32·单片机·问题·cyccnt
菩提树下的凡夫21 分钟前
新版OpenCV5.0在ONNX模型的推理应用
opencv·算法
影寂ldy38 分钟前
C# 三大内置委托(Action / Func / Predicate)+ Lambda
c++·算法·c#
开发笔记-阿牛40 分钟前
CK6159A 主控开发:多模式手电筒硬件架构、接线规范及选型参考
单片机·嵌入式硬件
一目Leizi40 分钟前
通信协议完全指南
stm32·单片机·嵌入式硬件