(一)CubeMX建项目
1.新建File->Project
2.选择芯片STM32F103C8
3.SYS选择
4.RCC选择
5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT
6.Clock Configuration设置 7.Project Manager合理设置
8.创建完成并用keil打开
(二)main.c代码修改
1.在while(1)中输入以下代码
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);//PA7亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);//PA7熄灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(500);//延时0.5s
(三)烧录运行结果
1.打开mcuisp,进行烧录
2.烧录结果
三、波形观察
1.设置Debug
2.点击调试,选择逻辑分析仪
3.选择要观察的引脚:
点击Setup Logic Analy,输入(PORTB & 0X00000000)>>0、Display Type选择Bit,依次输入(PORTA & 0X00008000)>>15、(PORTC & 0X00002000)>>13
4.运行波形图
四、总结
本次流水灯实验,理清了流水灯的原理,首先是包括GPIO配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型。实现流水效果(main 函数),需要一个 while 循环,保持程序一直运行,调用延时函数 HAL_Delay(1000),延时1000s,实现流水效果。
(一)CubeMX建项目
1.新建File->Project
2.选择芯片STM32F103C8
3.SYS选择
4.RCC选择
5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT
6.Clock Configuration设置 7.Project Manager合理设置
8.创建完成并用keil打开
(二)main.c代码修改
1.在while(1)中输入以下代码
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);//PA7亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);//PA7熄灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
HAL_Delay(500);//延时0.5s
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(500);//延时0.5s
(三)烧录运行结果
1.打开mcuisp,进行烧录
2.烧录结果
三、波形观察
1.设置Debug
2.点击调试,选择逻辑分析仪
3.选择要观察的引脚:
点击Setup Logic Analy,输入(PORTB & 0X00000000)>>0、Display Type选择Bit,依次输入(PORTA & 0X00008000)>>15、(PORTC & 0X00002000)>>13
4.运行波形图
四、总结
本次流水灯实验,理清了流水灯的原理,首先是包括GPIO配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型。实现流水效果(main 函数),需要一个 while 循环,保持程序一直运行,调用延时函数 HAL_Delay(1000),延时1000s,实现流水效果。
举报