stm32寄存器版——跑马灯
一。首先头文件LED定义
1 # ifndef __Led_H 2 #define __Led_H 3 #include "sys.h" 4 #define LED0 PBout(5) // 5 #define LED1 PEout(5) 6 void LED_Init(void); 7 #endif

 
二 LED.c
3.GPIO_CRL端口配置低寄存器
   GPIO_CRH端口配置高寄存器
   GPIO_IDR端口输入寄存器
   GPIO_ODR端口输出寄存器
    GPIO_BSRR端口位设置/清除寄存器
    GPIO-BRR端口位清除寄存器
   GPIO_LCKR端口配置锁存寄存器

每一组CNFy[1:0]和MODEx[1:0]为一组;

#include LED.h void LED_Init() { RCC->APB2ENR|=1<<3; //使能PORTB RCC->APB2ENR|=1<<6; //使能PORTE GPIOB->CRL&=0XFF0FFFFF; //清0 GPIOB->CRL|=0X00300000; //PB.5推挽输出 3->0011 GPIOB->ODR|=1<<5; //.PBS输出高 GPIOE->CRL&=0XFF0FFFFF; //清0 GPIOE->CRL|=0X00300000; //PE.5推挽输出 GPIOE->ODR|=1<<5; //.PES输出高 }
清0操作:&=把要赋值的那位写0,其他写1;
三.main 函数
#include "delay.h" #include "sys.h" #include "led.h" main() { Stm32_Clock_Init(9); //系统时钟设置 delay_init (72); //延时初始化 LED_Init(); //LED连接的硬件接口 while(1) { LED1=1;LED0=0; delay_ms(300); LED1=0;LED0=1; delay_ms(300); } }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号