STM32——串口实验(非中断)

需求:
接受串口工具发送的字符串,并将其发送回串口工具。
硬件接线:
TX -- A10
RX -- A9
一定要记得交叉接线!!
串口配置:
1. 选定串口
STM32——串口实验(非中断)_第1张图片

2. 选择模式

异步通讯

STM32——串口实验(非中断)_第2张图片 

3. 串口配置

 STM32——串口实验(非中断)_第3张图片

4. 使用MicroLIB

从魔术棒打开,这个勾勾一定要打上,否则 printf 无法重映射! 

STM32——串口实验(非中断)_第4张图片

 编程实现:

STM32——串口实验(非中断)_第5张图片

    • main 函数中,首先发送 "hello world\n" 字符串通过串口。

    • 然后进入一个无限循环 (while (1)),在循环中使用 HAL_UART_Receive 从串口接收数据到数组 ch 中,最多接收 19 个字符,超时时间为 100 毫秒。

    • 使用 printf(ch) 将接收到的字符串输出到标准输出。注意,printf 函数本身不会发送数据到串口,而是通过先前定义的 fputc 函数来实现输出到串口的功能。

    • 最后使用 memset 函数将数组 ch 清零,以准备接收下一次的数据。

请注意,这段代码中使用了 printf 函数,而标准的嵌入式系统可能并不提供标准库的完整实现。在嵌入式系统中,通常需要根据具体的平台和编译器进行相应的配置,以确保 printf 可以正确工作。

 

你可能感兴趣的:(stm32,嵌入式硬件,单片机)