流水灯实验.c

来自「STM32F103VBT6流水灯实验程序」· C语言 代码 · 共 39 行

C
39
字号
#define GPIOC_CRL   (*((unsigned int *)(0x40011000)))
#define GPIOC_BSRR  (*((unsigned int *)(0x40011010)))
#define GPIOC_BRR   (*((unsigned int *)(0x40011014)))
#define RCC_APB2ENR (*((unsigned int *)(0x40021018)))

void delay(void)  //延时函数,流水灯显示用
{
  unsigned int i;
  for(i = 0; i < 0xffff; ++i)
    ;
}

int main(void)
{
  //使能PORTC时钟
 RCC_APB2ENR |=(1<<4);
 //将GPIOC_CRL高16位都清0
 //这样CNF为00,即选择为推挽输出模式
 GPIOC_CRL &= 0x0000FFFF;
 //MODE选择为11,即50MHz输出模式
 GPIOC_CRL |= 0x33330000;
 
 while(1)
 {
  GPIOC_BRR=(1<<4); //灭 LED5
  GPIOC_BSRR=(1<<7);//亮 LED2
  delay();
  GPIOC_BRR=(1<<7); //灭 LED2
  GPIOC_BSRR=(1<<6);//亮 LED3
  delay();
  GPIOC_BRR=(1<<6); //灭 LED3
  GPIOC_BSRR=(1<<5);//亮 LED4
  delay();
  GPIOC_BRR=(1<<5); //灭 LED4 
  GPIOC_BSRR=(1<<4);//亮 LED5
  delay();
 }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?