STM32 串口输出调试信息

软硬件信息

  • CubeMX version 6.12.1
  • Keil uVision V5.41.0.0

注意

串口有多种:

  1. TTL
  2. 232
  3. 485

串口的相关知识: 01-【HAL库】STM32实现串口打印(printf方式), 内含 TTL 和 232 区别。
我把 232 串口连进 STM32 串口助手收到的信息一致乱码,调了好久才发现我用的 232, 不是 TTL.

STM32 板子自带 TTL 串口

在板子自带下载口一般有串口,在原理图中可以看到。板子链接电脑都在电脑 设备管理器 上也可以查到串口号。

方法一使用 HAL_UART_Transmit

CubeMX 配置

打开串口

原理图看到板子自带的是 USART1, 设置模式为 异步通讯。

时钟

串口异步通讯,不需要额外配置,配置适合板子的就行

Keil

main.cwhile 中使用 HAL_UART_Transmit函数

复制代码
    /* USER CODE BEGIN 3 */
		uint8_t Test[] = "Hello World!"; //Data to send
		HAL_UART_Transmit(&huart1,Test,sizeof(Test),10);// Sending in normal mode
		HAL_Delay(2000);

成功接受收据

注意 可以不开 MicroLIB 一样成功接受

方法二使用printf

参考资料

第一个我尝试成功了,但是它没有设置串口回调函数,第三个有回调函数配置。
使用 printf 方式一定要打开 MicroLIB

while中程序

在while 外面定义 uint8_t num=0;,然后,

复制代码
	num++;
    char str1[20];
    sprintf(str1, "%d", num);
		printf("Converted string: %s\r\n", str1);
    char str2[] = "Hello, this is serial port.\r\n";
    strcat(str1, str2);
    printf("Converted string: \r %s \n", str1);
		HAL_Delay(2000);
  }
  /* USER CODE END 3 */

C的部分知识

数字转字符串

复制代码
	num++;
    char str1[20];
    sprintf(str1, "%d", num);

字符串拼接

复制代码
    char str2[] = "Hello, this is serial port.\r\n";
    strcat(str1, str2);
相关推荐
LCG元4 分钟前
STM32F103 NTC 热敏电阻测温实战:分压网络设计、Steinhart-Hart 标定与 ADC 采样优化实测
stm32·单片机·嵌入式硬件
M78佐菲6 分钟前
ARM学习笔记(五)
linux·arm开发·笔记·嵌入式硬件·学习
恒锐丰科技林技术员18 分钟前
EG2184 半桥栅极驱动芯片详解:高压半桥电路的性价比之选
经验分享·嵌入式硬件·硬件工程
_Ningye28 分钟前
通用异步收发器 UART
单片机
威嵌神州34 分钟前
复旦微 FMQL100TAI 开发 8 问:仿真器、系统、接口高频问题解答
人工智能·嵌入式硬件·fpga开发
H_oRIZoN_1 小时前
Linux入门DAY45 IMX6ULL 裸机开发笔记:汇编点灯、C 语言点灯、GIC 中断梳理
linux·单片机·嵌入式硬件
怀民民民1 小时前
嵌入式软件学习路线与项目实践记录:STM32、FreeRTOS、Linux 与 OpenMV
stm32·freertos·嵌入式软件·嵌入式linux·openmv
离凌寒1 小时前
一、关于linux开发板上移植ubuntu根文件系统并配置桌面环境笔记记录
驱动开发·单片机
Rsingstarzengjx2 小时前
第二十八章 Linux 并发与竞争实验
驱动开发·嵌入式硬件·stm32mp157
辰域电子2 小时前
STM32项目开源:实验室消防预警控制系统(代码 + 原理图 + 仿真)
stm32·单片机·嵌入式硬件·开源·proteus