一、安装STM32CubeMX
下载地址:🔗链接
下载好后按照常规方法安装即可,且网上教程较多,此处就不再赘述。
二、GPIO端口3只LED红绿灯的周期闪烁
1、创建CubeMX项目
(1)新建File->Project
(2)选择芯片STM32F103C8
(3).SYS选择
按下图进行选择
(4)RCC选择
按下图进行选择
(5)选择端口输出设置
选择需要的端口,点击设置GPIO_OUTPUT,我选择的是PC13,PA15,PB0
按下图将三个端口的output level设置为high
(6)Clock Configuration设置
(7)Project Manager设置
(8)创建完成并用keil打开
2、main.c代码修改
(1)在while(1)中输入以下代码
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // 灯1亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // 灯1灭
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET); // 灯2亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); // 灯2灭
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); // 灯3亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); // 灯3灭
(2)点击编译生成hex文件
3、烧录运行结果
三、波形观察
1、按如下设置Debug
2、点击调试
3、选择逻辑分析仪
4、选择要观察的引脚
(1)点击Setup Logic Analy
(2)添加要观察的引脚
5、输入(PORTB & 0X00000000)>>0
Display Type选择Bit,依次输入(PORTA & 0X00008000)>>15、(PORTC & 0X00002000)>>13
6、运行程序
四、总结
本次流水灯实验,主要是搞清楚了流水灯的原理,再一次熟悉了其过程,建立一个while循环,设置延迟函数来实现整体功能。