STM32串口通信入门

本文介绍了串口通信、RS - 232标准、RS232与TTL电平区别及USB/TTL转232模块工作原理。还进行了STM32系统与上位机通信实验,包括连续发送信息、根据上位机字符控制发送、用Keil软件仿真逻辑分析仪观察波形等,帮助掌握STM32应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.串口通信
串口通信是一种设备间非常常用的串行通行方式,其简单便捷,大部分电子设备都支持。
2.RS-232标准: 主要规定了信号的用途、通信接口以及信号的电平标准。
3.RS232电平与TTL电平的区别:
电压范围差异 RS232电平使用正负电压表示逻辑状态,通常为正电压表示逻辑0,负电压表示逻辑1;TTL电平使用高低电压表示逻辑状态,通常为高电压(如+5V)表示逻辑1,低电压(如+0.8V)表示逻辑0。
信号极性差异 RS232电平的信号极性与电压有关,逻辑0和逻辑1的电压极性相反;TTL电平的信号极性固定,逻辑0为低电平,逻辑1为高电平。
传输距离差异 RS232电平适用于较长距离的通信,可达数百米;TTL电平适用于短距离通信,通常限制在几十米以内。
4."USB/TTL转232模块(以CH340芯片模块为例)的工作原理:
"USB/TTL转232"模块是一种转换器,用于将USB接口转换为串口RS-232电平或TTL电平。以CH340芯片模块为例,其工作原理如下:
通过USB接口与计算机连接。
CH340芯片将USB信号转换为TTL电平信号。
如果需要将TTL电平转换为RS-232电平,CH340芯片将TTL电平通过电平转换电路转换为RS-232电平信号。
通过转换后的RS-232电平或TTL电平,实现与RS-232设备或TTL逻辑电平设备的连接。
通过CH340芯片的驱动程序,在计算机上创建虚拟串口,使计算机可以通过虚拟串口与外部设备进行串行通信。
综上所述,"USB/TTL转232"模块通过CH340芯片将USB信号转换为TTL电平信号,并可选地将TTL电平转换为RS-232电平,从而实现USB与RS-232设备或TTL逻辑电平设备之间的串行通信。
任务一、
STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。
STM32cubx创建工程文件
使用高速外部时钟
在这里插入图片描述

设置USART
在这里插入图片描述

时钟设置
在这里插入图片描述

导出Keil文件
在main.c文件的主函数while循环中添加以下代码:
HAL_UART_Transmit(&huart1, (uint8_t *)“hello windows!\r\n”, 16 , 0xffff);
HAL_Delay(1000);
实验结果:
在这里插入图片描述

任务二、
在完成以上任务基础,继续扩展功能:当上位机给stm32发送一个字符“#”后,stm32暂停发送“hello windows!”;发送一个字符“*”后,stm32继续发送;
在main中将代码改为
uint8_t receivedChar;
if (HAL_UART_Receive(&huart1, &receivedChar, 1, 0xffff) == HAL_OK) { switch (receivedChar) { case ‘#’: // Pause sending message HAL_UART_Transmit(&huart1, (uint8_t )“stop”, 16 , 0xffff); break; case '': // Resume sending message HAL_UART_Transmit(&huart1, (uint8_t *)“hello windows!\r\n”, 16 , 0xffff); HAL_Delay(1000); //??1s break; default: // Continue sending message HAL_UART_Transmit(&huart1, (uint8_t *)“hello windows!\r\n”, 16 , 0xffff); HAL_Delay(1000); //??1s break; } }
实验结果:
在这里插入图片描述

任务三、
在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察串口输出波形,并分析时序状态正确与否,计算波特率实际为多少。
参考链接:
http://t.csdnimg.cn/GXfwu
通过查看peripherals中的USART1可看到其波特率实际为115107baud
在这里插入图片描述
在这里插入图片描述

实验总结:
通过本次实验,我了解了串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。STM32的发送,接收字符,使用Keil的软件仿真逻辑分析仪功能观察串口输出波形,使我能够能熟练的应用STM32.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值