借助stm32CubeMX,使用STM32F103C8T6点亮LED流水灯

本文详细介绍了如何使用STM32CubeMX配置STM32F103C8T6微控制器,新建工程并配置GPIO引脚和时钟源,以及在Keil MDK中编译和烧录程序,实现LED灯的轮流闪烁。同时,通过软件仿真观察GPIO端口输出波形,验证程序效果。整个过程涵盖了从硬件连接到软件编程的完整流程,对嵌入式初学者具有很好的实践指导价值。
摘要由CSDN通过智能技术生成

目录

一、简述

二、STM32CubeMX

利用CubeMX新建工程点亮LED灯

配置引脚

时钟源配置

工程管理

三、点亮LED

编写主要功能代码

编译与烧录

四、在Keil下载软件仿真观察3个GPIO端口的输出波形

设置仿真模式

使用逻辑分析仪

五、总结

一、简述

利用STM32最小系统核心板STM32F103C8T6,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒。 1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数;

2)分别用汇编语言,C语言编程实现。 器材:STM32F103C8T6+面板板+若干杜邦线+3只红绿蓝LED

二、STM32CubeMX

利用CubeMX新建工程点亮LED灯

在本次实验中,使用到的STM32硬件为,STM32F103C8T6; 软件为,STM32CubeMX软件、KEIL MDK-arm软件,以及STM32F1xxHAL库

直观的选择 STM32 微控制器(MCU)和微处理器(MPU)

img编辑

丰富易用的图形化界面:

img编辑

可以直接通过左侧的菜单完成对应pin脚的配置

也可以完成中断,时钟等等信息的配置

所有的配置都可以通过图形化的方式完成

生成初始化代码工程,包含:EWARM、 MDK-ARM、 TureSTUDIO、 SW4STM32等。

img编辑

通过项目管理界面可以配置代码生成的条目,配置完成以后,点击生成代码,即可自动生成初始化的工程。

生成的工程就是一个可以正常编译的完整工程,使用的时候只需要添加上用户代码即可。

配置引脚

只需把目标LED对应引脚设置为GPIO_Output即可,按照我在上上篇博客的管脚分配,这里我仍然去选择相同管脚,即PB0 PB5 PA1。

img编辑

时钟源配置

即配置32的时钟树框图,默认时钟是使用内部RC振荡器。

img编辑

配置RCC使用外部时钟源,操作如图 img​编辑

在中间格子配置为72MHz,回车;

img编辑

弹出小窗口点击ok,即可完成配置。

工程管理

设置完MCU后,可以进行对工程文件的配置了。 在Project处,这里就是工程的各种配置,我们只用到有限几个,其他的默认即可 。

img编辑

然后点击Code Generator,进行进一步配置。

img编辑

点击GENERATE CODE 创建工程,等待一段时间后,成功打开了工程文件。

img编辑

三、点亮LED

编写主要功能代码

然后点击Application…,再打开main.c文件,如图所示:

img编辑

复制如下代码到main.c的while(1)里面如图:

img编辑

编译与烧录

调试结果以及实际效果

img编辑

最后结果如下,LED灯亮:

在这里插入图片描述编辑

四、在Keil下载软件仿真观察3个GPIO端口的输出波形

设置仿真模式

在使用仿真模式时,需要进行Debug模式设置,下图是Debug设置模式。

img编辑

注意在Debug设置里下面两项内容进行更改: Dialog DLL默认是DARMSTM.DLL Parameter默认是-pSTM32F103VC

使用逻辑分析仪

点击KEIL5魔法棒,再点击Target,设置合适的晶振

img编辑

再点击Debug进行设置,然后点击OK即可,如图所示:

img编辑

点右上角放大镜,进入仿真页面,点击图中图标打开逻辑分析仪:

img编辑

添加要查看波形的GPIO口:

先在右下角命令框里输入命令,dir vtrge 就可以看到可以查看的GPIO口,为下一步做准备,如图:

img编辑

然后点击,setup,然后进行下图操作:

img编辑

直接输入PORTA&0X00000020 (0X00000020就是5.1步中查询出来的结果),如图:

img编辑

然后点击旁边空白处就可以完成输入,再点击刚刚输入的内容,然后点击Display Type选择bit,如图所示:

img编辑

之后,我们便不难得到仿真波形图:

img编辑

观察每次变化的时间,对比是否有实际定义的1000ms。

五、总结

本次实验主要是关于熟悉STM32CubeMX的安装、使用过程并且利用STM32CubeMX进行简单嵌入式编程学习的流程。总体来说实验流程比较复杂,也具有一定难度。但在参考了相关资料和指导书之后,也是勉强完成本次实验,对整个过程原理有了更加深刻的认识。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值