今天主要学习了如何控制GPIOC端口从而实现LED的点亮。
C端口有一个寄存器GPIOC_MODER,其中moder1-moder4是用来控制LED的四个灯的,GPIO_ODR是用来控制输出的,在点亮小灯之前,先要做一步打开时钟开关的工作,即选中GPIOC这一个端口。
流水灯程序:
#include "stm32f4xx.h"
void delay()
{
int x = 1000,i;
while(x--)
{
for(i = 0;i < 2000;i++);
}
}
int main(void)
{
RCC_AHB1ENR |= (1<<2);
while(1)
{
GPIOC_MODER |= (1<<(2*1));
GPIOC_ODR |= (1<<1);
delay();
GPIOC_ODR &= 0;
GPIOC_MODER |= (1<<(2*2));
GPIOC_ODR |= (1<<2);
delay();
GPIOC_ODR &= 0;
GPIOC_MODER |= (1<<(2*3));
GPIOC_ODR |= (1<<3);
delay();
GPIOC_ODR &= 0;
GPIOC_MODER |= (1<<(2*4));
GPIOC_ODR |= (1<<4);
delay();
GPIOC_ODR &= 0;
}
}
void SystemInit(void)
{
}