gpio编程二点亮流水灯的实验总结
时间: 2023-07-05 15:20:23 浏览: 113
GPIO编程是指使用单片机或嵌入式系统的GPIO口进行输入输出控制的一种编程方法。下面是二点亮流水灯的实验总结:
实验材料:
- STM32F103C8T6开发板
- LED灯 * 2
- 面包板
- 杜邦线若干
实验步骤:
1. 连接硬件
将两个LED灯分别连接到开发板的PA0和PA1口,连接方式为正极连接到开发板的3.3V口,负极连接到开发板的GPIO口。
2. 配置GPIO口
打开Keil软件,新建一个工程,选择对应的芯片型号,配置好系统时钟后,进入GPIO口的配置。
将PA0口和PA1口分别设置为输出模式,并将输出电平设置为低电平。
3. 实现流水灯效果
使用while循环实现LED灯的闪烁效果,每隔一定时间切换LED灯的状态,从而实现流水灯效果。
代码实现:
```c
#include "stm32f10x.h"
int main(void)
{
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; //使能GPIOA时钟
GPIOA->CRL &= ~(GPIO_CRL_CNF0 | GPIO_CRL_MODE0 | GPIO_CRL_CNF1 | GPIO_CRL_MODE1); //清零PA0和PA1口的配置
GPIOA->CRL |= GPIO_CRL_MODE0_0 | GPIO_CRL_MODE1_0; //将PA0和PA1口设置为输出模式
GPIOA->BSRR = GPIO_BSRR_BR0 | GPIO_BSRR_BR1; //将PA0和PA1口输出低电平
while(1)
{
GPIOA->BSRR = GPIO_BSRR_BS0 | GPIO_BSRR_BR1; //点亮LED1,熄灭LED2
Delay(500000); //延时一段时间
GPIOA->BSRR = GPIO_BSRR_BS1 | GPIO_BSRR_BR0; //点亮LED2,熄灭LED1
Delay(500000); //延时一段时间
}
}
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
```
总结:
本次实验通过GPIO口的控制,实现了二点亮流水灯的效果。GPIO编程是嵌入式系统开发的基础,掌握好GPIO编程非常重要。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)