文章目录
[蓝桥杯嵌入式有手就行]系列文章
前言
一、打开我的工程
1、cubemx工程
2、打开keil工程
3、下载
4、观察现象
二、cubemx配置
三、keil
1、配置调试器
2、编写代码
3、编译烧录
四、问题
1、startup_stm32g431xx.s文件丢失
2、下载后没反应,需要按复位
3、 下载报错(flash downlo failed-“cortex-m4”)
4、选不中代码
五、vscode
推荐的插件
EIDE
总结
前言
注:本系列基于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)。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70050091/viewspace-3117692/ ,如需转载,请注明出处,否则将追究法律责任。