安装STM32CubeMX,stm32串口通信

本文详细介绍了STM32串口通信的波特率、数据位、停止位和奇偶校验,并探讨了RS-232标准。通过STM32CubeMX,逐步搭建STM32开发环境,包括安装jdk、STM32CubeMX和固件库。同时,展示了如何新建LED流水灯和USART串口通讯程序,以及使用Keil观察时序波形,确保程序正确执行。

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

目录

一.串口通信和RS-232标准

1.串口通信

波特率

数据位

停止位

奇偶校验

2.RS-232标准

二.安装STM32CubeMX,搭建STM32的开发环境

1.安装jdk

2.安装STM32CubeMX

3.安装固件库 

三.LED流水灯

1.新建工程

2.main.c

3.实验效果

四.USART串口通讯程序

1.新建工程

2.汇编代码

3.烧录

五.用keil观察时序波形

1 .环境设置

2.观测三个GPIO端口的输出波形

3.串口输出波形

六.总结

 参考文献:


一.串口通信和RS-232标准

1.串口通信

串口是数据通信接口,其功能是作为 CPU 和串行设备间的编码转换器。当数据从 CPU 经过串行端口发送出去时,字节数据转换为串行的位;在接收数据时,串行的位被转换为字节数据。

串口通信指串口按位发送和接收字节。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。

波特率

这是一个衡量符号传输速率的参数。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。

数据位

这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息。

停止位

用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

奇偶校验

奇校验要求有效数据和校验位中“1”的个数为奇数,比如一个8位长的有效数据为:01101001,此时共有4个“1”,为达到奇校验效果,校验位为“1”,最后传输的是8位有效数据加1位校验位,共9位。偶校验刚好相反,要求有效数据和校验位的“1”数量为偶数,则此时为达到偶校验效果,校验位为“0”。而0校验则无论有效数据中是什么数据内容,校验位总是为“0”,1校验校验位总是为“1”。

2.RS-232标准

RS-232标准接口是常用的串行通信接口标准之一。RS232标准采用的接口是9针或25针的D型插头,常用的一般是9针插头。 

RS-232标准在-12~3V逻辑为1,在+3V~+15V逻辑为0。

TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。

由于 RS-232电平标准的信号不能直接被 控制器直接识别,所以这些信号会经过一个“电平转换芯片”转换成控制器能识别的 “TTL 标准”的电平信号,才能实现通讯。  

二.安装STM32CubeMX,搭建STM32的开发环境

1.安装jdk

由于STM32CubeMX是Java实现的,需要安装jdk环境。
jdk官网下载链接:Java Downloads | Oracle

选Windows的下载:

这个安装很简单,跟着安装步骤一步一步安装下去就可以了。由于我已经安装完成了,所以就不截图具体步骤了。

2.安装STM32CubeMX

下载链接:
STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics

2.1以管理员身份运行并安装 SetupSTM32CubeMX-4.27.0.exe ,进入下面这个界面后,点击Next 

 2.2点击"I accept the terms of this license agreement",接着选择Next

 2.3选择安装位置,安装位置不要出现中文,不然可能出现问题。选择好安装位置后,点击next

2.4 继续下一步,点击next

 2.5然后等待安装完成

3.安装固件库 

3.1打开STM32cubemx,选择 Help->Magne 安装固件库

 3.2选择F1系列下的安装包,点击Install Now

 3.3等待下载,下载完成后会出现绿框。

三.LED流水灯

1.新建工程

1.1点击new project

 1.2选择STM32F103C8芯片

SetupSTM32CubeMX-5.1.0 Introduction STM32CubeMX is a graphical tool for STM32 microcontrollers. It is part of the STM32Cube™ initiative (see Section 1) and is available either as a standalone application or as an Eclipse plug-in for integration in integrated development environments (IDEs). STM32CubeMX has the following key features: • Easy microcontroller selection covering the whole STM32 portfolio • Board selection from a list of STMicroelectronics boards • Easy microcontroller configuration (pins, clock tree, peripherals, middleware) and generation of the corresponding initialization C code • Easy switching to another microcontroller by importing a previously-saved configuration to a new MCU project • Easy exporting of current configuration to a compatible MCU • Generation of configuration reports • Generation of embedded C projects for a selection of integrated development environment tool chains. STM32CubeMX projects include the generated initialization C code, MISRA 2004 compliant STM32 HAL drivers, the middleware stacks required for the user configuration, and all the relevant files for opening and building the project in the selected IDE. • Power consumption calculation for a user-defined application sequence • Self-updates allowing the user to keep STM32CubeMX up-to-date • Download and update of STM32Cube embedded software required for user application development (see Appendix E for details on the STM32Cube embedded software offer) Although STM32CubeMX offers a user interface and generates C code compliant with STM32 MCU design and firmware solutions, users need to refer to the product technical documentation for details on actual implementations of microcontroller peripherals and firmware.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值