STM32 CubeMX
一、STM32 CubeMX设置
二、代码部分
添加代码
#include "stdio.h"
int fputc(int ch, FILE *f) {
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
keil设置
microlib 是缺省 C 库的备选库。 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用。 这些应用程序不在操作系统中运行。
microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。 某些库函数的运行速度也比较慢,例如,memcpy()。
实现效果:
打印变量
printf("Hello, I am %s\r\n", "iii"); // printf输出字符串
printf("Test int: i = %d\r\n", 100); // printf输出int型数据
printf("Test float: i = %f\r\n", 1.234); // printf输出float型数据
printf("Test hex: i = 0x%2x\r\n",100); // printf输出16进制数据
printf("Test all: i = %d j = %f k = 0x%2x",100,1.234,100);// 同时输出所有数据类型
————————————————
版权声明:本文为CSDN博主「现代的三流魔法使」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sorcererr/article/details/128689613**
三、无printf输出字符串 “hello windows”
使用HAL_UART_Transmit函数打印字符串
char data[]="hello windows!\n";
HAL_UART_Transmit(&huart1, (uint8_t *)data, 15, 0xffff);
四.逻辑分析仪分析115200和9600速率对比
逻辑分析仪分析115200速率
发送完成一个字节大约需要87us时间
逻辑分析仪分析9600速率
发送完成一个字节大约需要1050us时间文章来源:https://www.toymoban.com/news/detail-603950.html
所以:115200/9600 ≈ 1050/87 ;
115200波特率比9600波特率速度快12倍文章来源地址https://www.toymoban.com/news/detail-603950.html
到了这里,关于STM32 HAL库串口重映射printf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!