在 stm32CubeMX下生成程序完成流水灯以及完成STM32的USART串口通讯程序实现STM32系统给上位机(win10)连续发送“hello windows”

本文介绍了如何使用STM32CubeMX生成STM32程序,实现流水灯功能和通过USART串口通信向Windows发送“hello windows”消息。首先,详细讲解了STM32CubeMX的安装和配置过程,包括配置芯片、生成代码。接着,在Keil中补充代码以完成功能,并设置串口通信。在Keil中进行了仿真,观察实验波形。最后,通过串口调试助手验证了STM32发送数据到Windows的成功。

目录

一、STM32CubeMX简介及安装

二、利用STM32CubeMX生成代码

1、创建项目 

2、配置芯片

3、导出项目

​ 三、Keil中补充代码完善功能 

四、在Keil中观察实验波形 

五、USART与串口通信简介 

六、完成STM32的USART串口通讯程序:连续给windows发送“hello windows!”

1、在keil中建立新工程 

​ 2、编写程序

3、烧录程序 

 4、运行程序

 七、总结


一、STM32CubeMX简介及安装

STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。 

在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等  省去了我们配置各种外设的时间,大大的节省了时间。

安装CubeMx一共需要三个

  •  JRE (Java Runtime Environment)  Java运行环境 运行JAVA程序所必须的环境的集合
  •  STM32CubeMX
  • HAL库   STM32 HAL固件库   ST官方推出的另一套库。

具体的安装流程操作和安装包可以参照博客:(19条消息) 【STM32】STM32 CubeMx使用教程一--安装教程_Z小旋-CSDN博客_stm32cubemx安装 里面介绍的很详细,这里就不过多赘述了。

二、利用STM32CubeMX生成代码

1、创建项目 

如我们所知,在使用stm32解决一些复杂问题时需要建立工程模板,其中包含初始化程序,stm32启动程序等等,自己创建起来很琐碎麻烦。STM32CubeMX这个工具就可以帮助我们生成此类的工程模板,我们只需在里面配置对应的管脚,就可以自动生成初始化的函数了。

首先,我们打开STM32CubeMX点击右上方的File,选择New Project,创建一个新的项目:

然后我们选择自己对应的芯片,再双击确定:

 之后就来到了配置芯片的界面:

2、配置芯片

首先配置时钟,我们先选择晶振。  

接着来配置事件树:

先把晶振改为72,然后回车,接着点击ok键确认:

最后我们来配置管脚了:

此处我们选用的是管脚(PA4、PA5、PA6)输出为LED提供高电平。所以我们在芯片上选择这几个管脚,右击,选择为output。

然后我们再来配置输出模式,调节管脚参数,点击右列的GPIO后,出现以下界面来调节:

 以下为几种输出模式配置:

GPIO output level Low的意思是将该串口初始化为低电平,当然也可以选择High,就是将初始电平拉高,这里按我们电路的接法,所以应该拉低。

GPIO mode Outpull Push pull的意思是选择输出模式为推挽输出模式,还有其他几种输出模式,在我的上一篇博客中有讲到另外几种输出方式,大家可以了解一下。这里我们是需要点亮LED灯,所以选择推挽输出模式。

GPIO Pull-up/Pull-down No pull-up and no pull-down的意思是设置为输出没有上拉和下拉输出,其实安逻辑来说我们是需要给我们的LED给一个下拉电阻才能点亮的,但是我们在实际的运用中为了简便发现这样也可以点亮,并且因为电流大,所以LED亮度很高。

Maximum output speed Low配置的是输出速度,我们这里配置输出速度为低,目前我们碰到的大多数情况都选择低就可以了。

3、导出项目

最后我们需要将我们已经配置好的项目给导出来才能加以应用,点击上方的Project Manager可以进入导出项目的界面: 

其中,Project name为项目名称,Project Location为项目的保存路径,要记得Toolchain/IDE选择为MDK-ARM,否则无法生成keil的工程。 

配置完成后,点击GENERATE CODE导出。 

 三、Keil中补充代码完善功能 

在生成的项目文件夹中打开MDK-ARM,可以看到keil形式的工程,打开这个工程,就能看到我们配置的那些工程模板的代码了:

我们要完善自己的功能,就要在main函数中的while循环里面加入自己的功能代码。我们要编写的代码就在这BEGIN和END中间。在中间加上我们的代码就可以了。

		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//A4灯亮
		HAL_Delay(500);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);	//A4灯灭,同时A5亮
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
		HAL_Delay(500);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);	//A5灯灭,同时A6灯亮
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET);
		HAL_Delay(500);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESET);//A6灯灭然后开始循环

四、在Keil中观察实验波形 

在开始仿真之前我们需要对keil进行一系列的配置,点击“仙女棒”,然后在Debug选项中选择软件仿真(use simulator),并且将下面的设置(Dialog DLL和Parameter)改成你对应的芯片即可。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值