本文章属于学习笔记文章,如有抄袭请见谅
本人使用的开发板是野火骄阳stm32f407igtx开发板
软件安装
本实验使用软件有:keil5、STM32CubeMX软件如下所示
学习本实验需要先学习stm32标准库,只需要学习前几章就行(GPIO口输出和输入、时钟配置,exti外部中断),本人是初学者,所以有错误欢迎大家指正。
软件安装参考野火教程,软件最好选择最新版本安装,我安装的官网上最新的keil5,好像是不需要破解,使用到目前没有什么阻碍。
学无止境,在学习时我有很多困惑会写出来,欢迎大家讨论
实验开始
-
创建工程打开stm32cude软件
-
选择型号(查看自己芯片的型号进行选择)
-
配置RCC(为什么要配置?我看了很多,大意是系统工作需要,现在我还没有什么理解,暂时也没有用到,用到了再去学)
-
配置SYS(听说是配置了这个才能下载到板子里,我这个板子选择Serial Wire)
-
配置GPIO-点亮LED(首先在软件右下角输入你要查的引脚,它就会闪动起来,然后点击引脚选择模式。)
我们可以看到引脚有很多模式,我们后面再慢慢了解,选择GPIO_Output,控制led肯定是输出。之后给你的引脚起个名字LED,这部分配置就完成了。
-
时钟配置(安装图片顺序来就行,至于为什么这样配置,大家的解释是根据你的需求来,频率越高能耗越高,实际上我们还在学习,哪有什么需求,按最高的来吧,有需求就学习,没需求就不理)
-
生成文件配置(这里的话跟着来就行,熟能生巧,读读英文就明白在干啥了,最后一步就是生成初始化文件了)
-
添加代码 (之后就能在main.c的文件中添加自己的代码流水灯之类的,在下载程序之前还要配置魔法棒)
-
下载调试
总结和不足
STM32CUDE初始化GPIO以后默认是开启的,灯就会一直亮,想要它闪动的话可以在gpio.c文件的初始化函数中加入
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_15,GPIO_PIN_RESET);
之后在main.c文件中添加
/* USER CODE END WHILE */
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_15,GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_15,GPIO_PIN_RESET);
HAL_Delay(500);
/* USER CODE BEGIN 3 */