×
单片机 > 单片机程序设计 > 详情

STM32-1-LED点亮与熄灭

发布时间:2020-05-18 发布时间:
|

led.c文件


#include "led.h"

void LED_Init(void){

 

  //¶¨ÒåÒ»¸öGPIO_InitTypeDefÀàÐ͵ĽṹÌå

  GPIO_InitTypeDef GPIO_InitStructure;

  

  //¿ªÆôPA¿ÚʱÖÓ

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

  

  //Ñ¡ÔñÒª¿ØÖƵÄPA¿Ú

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;


  //ÉèÖÃÒý½ÅģʽΪͨÓÃÍÆÍìÊä³ö

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;


  //ÉèÖÃÒý½ÅËÙÂÊΪ50MHz

  GPIO_InitStructure.GPIO_Speed =  GPIO_Speed_50MHz;


  //µ÷Óÿ⺯Êý£¬³õʼ»¯GPIOA

  GPIO_Init(GPIOA,&GPIO_InitStructure);

}

led.h文件

#ifndef _LED_H

#define _LED_H

#include"stm32f10x.h"

 

#define LED2_OFF GPIO_SetBits(GPIOA,GPIO_Pin_0)

#define LED2_ON GPIO_ResetBits(GPIOA,GPIO_Pin_0)

#define LED2_REV GPIO_WriteBit(GPIOA, GPIO_Pin_0,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0))))

 

#define LED3_OFF GPIO_SetBits(GPIOA,GPIO_Pin_1)

#define LED3_ON GPIO_ResetBits(GPIOA,GPIO_Pin_1)

#define LED3_REV GPIO_WriteBit(GPIOA, GPIO_Pin_1,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_1))))

 

void LED_Init(void);

#endif


main.c

#include "stm32f10x.h"

#include"led.h"

 

int main(void)

{

   uint32_t i; 

  LED_Init();

 

while(1){

LED2_OFF;

LED3_OFF;

for(i=0;i<0xfffff;i++);

LED2_ON;

LED3_ON;

  for(i=0;i<0xfffff;i++);

}

}




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何为单片机选择合适的负载电容