一.实验工具
LED灯
面包板
杜邦线
STM32CubeMX
KEIL5
STM32C8T6核心板
二.使用STM32CubeMX
1.安装STM32CubeMX
安装HAL库
进行参数设置,设置三个输出引脚:
打开Project Manager,给工程配置文件名,生成.c文件之后点击GENERATE CODE 生成工程代码,跳转到keil
三.仿真及电路连接(keil)
1.跳转之后找到main文件,在标绿的地方插入代码
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,1);
HAL_Delay(1000);//??1s HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,0);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,1); HAL_Delay(1000);//??1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,0); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,1); HAL_Delay(1000);//??1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,0);
3.连接STLINK串口,点击烧录运行成功即可
四.结果展示
五.观察GPIO端口的输出波形
1.Target界面中,选择跟正确的晶振大小,使用8MHz的外部晶振。
3.之后进入调试界面,进入逻辑分析仪找到Setup Logic Analyzer设置要观察的引脚。
六.总结
此次试验学习如何配置STM32的GPIO引脚以控制外部设备,学会如何添加延时以控制LED流水灯的速度,理解如何使用STM32的HAL库函数,简化了底层硬件控制,减少了代码的复杂性。通过创建项目、编写代码、调试和烧录固件,学习了嵌入式软件开发的整个流程。
本次的基于HAL库的LED流水灯实验已完成,通过此次课程学习,我更加扎实地掌握了有关基于HAL库的LED流水灯方面的知识,也通过解决一些实际问题发现了我在学习过程中的知识欠缺与经验不足。