土木本科生的STM32探索之旅:豆包 AI 指导助攻!STM32F103VET6板载LED闪烁实验实操
作为一个刚跨进 STM32 坑的土木生,前几篇折腾了装软件、点 LED、解芯片锁,但总觉得 “对着教程抄步骤” 有点费劲 —— 直到这次试着用豆包当 “实时导师”,居然顺顺当当完成了板载 LED 闪烁,分享下整个过程~
一、实验前:明确实验的目标,实验所使用到的具体芯片型号,单片机的原理图等等
(把实验描述的越详细越好,让AI给我们一份新手适用的实验指导过程)
实验描述:使用cubeide软件中的hal库,把stm32f103vet6板子上面自带的led灯点亮,并使其小灯1秒钟闪烁一次。另外,根据原理图原理图可知,led灯对应着pb0引脚。

向AI提问(以为豆包为例):我现在需要一份实验的指导过程,这个实验的指导过程要适合于刚学stm32新手小白,实验的内容是使用cubeide软件中的hal库,把stm32f103vet6板子上面自带的led灯点亮,并使其小灯1秒钟闪烁一次。另外,根据原理图原理图可知,led灯对应着pb0引脚(这里可以把也发送给豆包,可能复杂一些的会识别错误,并给出有一定问题的实验指导)。请你给我一份详尽的实验指导过程。






二、根据AI提供的实验指导过程进行实验
个人建议是电脑屏幕分为一部分AI指导的实验流程,另一部分是cubeide软件。

1、新建 STM32CubeIDE 工程


由于f103芯片会存在着锁芯片的问题,新建好项目以后,第一步先设置debug模式,如下图所示。

2、根据AI给的指导过程,配置系统时钟


3、根据AI给的指导过程,配置 PB0 引脚为输出模式

4、根据AI给的指导过程,生成工程代码
之前操作熟悉的话,可以点击齿轮一样的小玩意儿,这就根据之前设置的内容,自动生成了代码。

5、根据AI给的指导过程,编写 LED 闪烁代码

AI给的代码这里,有给我们注释。我把代码复制过来放在了下方。
/* USER CODE BEGIN WHILE */
while (1)
{
/* 1. 置位PB0引脚(高电平):如果LED是低电平点亮,改为HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
/* 2. 延时1秒:HAL库自带的毫秒延时函数,参数为延时时间(ms) */
HAL_Delay(1000);
/* 3. 复位PB0引脚(低电平) */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
/* 4. 再延时1秒 */
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
注意:在注释这里写了,如果LED是低电平点亮,改为HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
一般的AI给的代码会存在着问题,那这次AI给的代码是否可能会存在一定的小问题。我们先不修改AI给我们的代码,我们先试着编译,烧录程序。看看小灯的闪烁情况再考虑修改代码。
6、根据AI给的指导过程,

将AI提供的代码复制到while里面,小锤子编译没有问题


把stm32f103vet6单片机通过st-link接入电脑,烧录程序,查看小灯的闪烁效果。

代码烧录好了以后发现,小灯开始闪烁。

8、对比一下,对调一下代码后的实验效果
交换HAL_GPIO_WritePin中的SET和RESET。
在刚刚的while那里我们对调一下代码试试。
原AI给的代码:

修改后的代码如下:
/* USER CODE BEGIN WHILE */
while (1)
{
/* 1. 置位PB0引脚(低电平):LED是低电平点亮 */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
/* 2. 延时1秒:HAL库自带的毫秒延时函数,参数为延时时间(ms) */
HAL_Delay(1000);
/* 3. 复位PB0引脚(高电平):LED是高电平熄灭 */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
/* 4. 再延时1秒 */
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
将修改好的代码重新编译烧录进f103vet6,查看实验的效果。
烧录完毕以后,实验效果效果也是小灯在闪烁?为什么会效果一样呢?可以请教一下AI。



AI帮我们分析了原因,led小灯闪烁的起始状态不同而已。
有问题的小伙伴欢迎在评论区提出自己的意见和想法。
本期的文章就暂时更新到此,闲了下来会继续更新相关的视频,后期文章以及对应的视频。
更多推荐

所有评论(0)