stm32寄存器PA0,PA1,PA2点亮LED灯代码
时间: 2023-10-13 12:04:55 浏览: 132
基于Proteus无实物零基础STM32入门自学教程(五)--按键点亮LED
5星 · 资源好评率100%
以下是基于STM32的GPIO寄存器编写的点亮LED灯代码,其中PA0、PA1、PA2对应LED灯的三个引脚:
```c
#include "stm32f10x.h"
int main(void)
{
// 使能GPIOA时钟
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
// 配置PA0、PA1、PA2为推挽输出模式
GPIOA->CRL &= ~(GPIO_CRL_CNF0 | GPIO_CRL_CNF1 | GPIO_CRL_CNF2);
GPIOA->CRL |= GPIO_CRL_MODE0 | GPIO_CRL_MODE1 | GPIO_CRL_MODE2;
// 循环点亮三个LED灯
while (1)
{
GPIOA->ODR |= GPIO_ODR_ODR0 | GPIO_ODR_ODR1 | GPIO_ODR_ODR2;
for (volatile int i = 0; i < 100000; ++i);
GPIOA->ODR &= ~(GPIO_ODR_ODR0 | GPIO_ODR_ODR1 | GPIO_ODR_ODR2);
for (volatile int i = 0; i < 100000; ++i);
}
}
```
在这个代码中,首先需要使能GPIOA的时钟,然后将PA0、PA1、PA2配置为推挽输出模式,最后通过GPIOA的ODR寄存器循环点亮三个LED。
阅读全文