[蓝桥杯嵌入式有手就行]2_从点灯开始

[蓝桥杯嵌入式有手就行]系列文章

第一章 开发环境的配置
第二章 从点灯开始
第三章 学会看手册
第四章 GPIO(上)
第五章 GPIO(下)
第六章 LCD
第七章 串口
第八章 I2C
第九章 ADC
第十章 TIM(上)
第十一章 TIM(下)
第十二章 RTC
第十三章 14届模拟题1
第十四章 14届模拟题2
第十五章 14届真题解析
未完待续…



前言

注:本系列基于2023年蓝桥杯实战情况就行编写,所有软件均采用2023年赛点资源包
历年真题在官网都有,这里直接上链接(需要登录)
本文用点灯的案例来验证你的软硬件是否配置完成,大家直接基于我的模板去完成就可以,这里附上下载地址。详细的硬件解析将在下一篇中进行,点灯的步骤也放在下面。
验证工程下载地址:https://download.csdn.net/download/weixin_44354614/88409720


一、打开我的工程

1、cubemx工程

在这里插入图片描述
双击这个文件,因为我的版本是6.8.1,高于官方资料包里的版本,所以你需要选择Migrate(之后的教程会使用我新建的虚拟机,环境采用我发的资源包)

图片是网上找的,差不多就是这个样子。
在这里插入图片描述

cubemx需要联网更新资源,打开的时候会读条,等待就可以,第一次可能比较慢。
如果打不开,再根据提示自行百度解决,我没遇到,没法说明。

2、打开keil工程

在这里插入图片描述
点击rebuild,没有报错就可以了。
在这里插入图片描述

3、下载

连接板子,如果这里没有设备,可能需要打驱动(win10及以上是自动的)或者检查连接。
在这里插入图片描述
点击这个下载就可以。
在这里插入图片描述

4、观察现象

在这里插入图片描述

二、cubemx配置

在这里插入图片描述
只需要按我框的几个,然后回车,软件会自动调整。HCLK一般为了好算,我会取80(使用ADC的情况)或者100,具体看要求决定。。
在这里插入图片描述
右边选择引脚,按图照抄就行,从PC8到PC15,别忘了PD2引脚。
在这里插入图片描述

这里不要有中文路径就可以,不然还需要自己手动添加启动文件。如果用我的keil安装包的,第二个框的版本号就不需要改了。
在这里插入图片描述
这两个选项对于比赛来说,保持默认即可。
STM32Cube MCU packages and embedded software packs,如果你是自己做东西,硬盘空间比较紧张的可以选择第2个。==就这个点灯来说,第二个选项只有5MB。而选择全部的话就有72MB。==反正你要使用新的模块也会来这个软件配置,所以没影响。
Generated files,这个或许对于比赛来说,默认(第一个选项不选)会更方便。但是不利于你自己做项目的时候制作bsp文件,目录结构相对清晰。第三个选项很重要如果你不能一次配置完成,那么务必选上,代码写在user begin和user end之间,不要删除那些注释。
在这里插入图片描述
之后点右上角的GENERATE CODE生成代码后,点击打开工程就可以了。
没有这个选项的话,大概率是你放在的中文目录好像桌面也算中文,似乎是bug。
在这里插入图片描述

三、keil

1、配置调试器

默认是st-link,需要改成dap-link
在这里插入图片描述
这个不选的话下载后需要手动按下复位键
在这里插入图片描述

2、编写代码

因为我们只配置了led灯,默认情况下是全亮的。
如果想改的可以参考下面的代码和注释,其中,pc8-15对应led1-8。如果不操作lcd屏幕,pd2可以不操作。但是每次修改led亮灭的时候一定要确保pd2置高电平

  HAL_GPIO_WritePin(GPIOD, GPIO_PIN_8, GPIO_PIN_SET);   // 打开锁存器,这一步可以没有,因为初始化的时候打开了
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, GPIO_PIN_SET);   // 熄灭led1
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET); // 点亮led2
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_SET); // 熄灭所有led
  HAL_GPIO_WritePin(GPIOD, GPIO_PIN_8, GPIO_PIN_RESET); // 关闭锁存器,锁定led

在这里插入图片描述

3、编译烧录

这里和上文一、4中一样,不在复述。

四、问题

1、startup_stm32g431xx.s文件丢失

一般都是因为中文目录。可以去资源包里的lcd例程(这个是官方给的)的目录下复制。
在这里插入图片描述

2、下载后没反应,需要按复位

查看下dap-link调试器设置选项中flash dowmload里的reset and run有没有选中。

3、 下载报错(flash downlo failed-“cortex-m4”)

在这里插入图片描述
添加这个编程算法就可以。
在这里插入图片描述

4、选不中代码

在这里插入图片描述
像这种,甚至还有更离谱的,还能差好几个字母。==重启keil吧!!!==或者和我一样换vscode写代码。

五、vscode

既然官方给了,那么不用白不用,至少能舒服的敲代码。这边省赛我们这是提前自己去配的环境,所以只要你不在电脑上存代码(存了只要不打开就行),是可以的。具体要看你们赛点的情况。平时可以使用,但是keil一定得会用

推荐的插件

这里用keil assistant演示,eide会比较麻烦,但是可以脱离keil。
在这里插入图片描述
我们直接在首页或者文件-打开文件夹,选中工程的MDK-ARM文件夹就可以了
在这里插入图片描述
接下来就是愉快的敲代码
在这里插入图片描述
调试的话,还得是keil。

EIDE

这里提一下eide这个插件。
因为eide需要导入cubemx生成的keil工程文件,而且它使用gcc进行编译,编译后的文件在out文件夹,没法被keil加载。后面想要调试的话,你需要在keil里再编译一次。cubemx添加或者修改配置后,需要重新导入工程,不然会识别不到新的文件,旧的文件也会因为找不到报错。当然,如果你不觉得麻烦,或者一次配置到位,也不是不行。这样可以丢弃keil使用。

总结

点灯成功,就相当于你摸到了门槛。接下来能不能走进门,那就看造化了。后面几期会围绕硬件,进行分析,比较枯燥,大家准备好瓜子、花生、矿泉水哈(bushi)。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工具人呵呵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值