STM32第一次学习——使用库函数点亮LED灯

使用库函数点亮LED灯

led.h

#ifndef _LED_H
#define _LED_H

#include "stm32f10x.h"

#define LED_PORT_RCC RCC_APB2Periph_GPIOC
#define LED_PIN      GPIO_Pin_0
#define LED_PORT     GPIOC

void LED_Init(void);

#endif

led.c

#include "led.h"
void LED_Init()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);

GPIO_InitStructure.GPIO_Pin=LED_PIN;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(LED_PORT,&GPIO_InitStructure);
	
GPIO_SetBits(LED_PORT,LED_PIN);
}

main.c

#include "stm32f10x.h"
#include "led.h"
int main()
{
	LED_Init();
	
	while(1)
	{
		GPIO_ResetBits(GPIOC,GPIO_Pin_0);
	}
}

LED点亮的四种方法

	//方法1:
		GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1)); //LED1接口输出高电平1
		delay_us(50000); //延时1秒
		GPIO_WriteBit(LEDPORT,LED1,(BitAction)(0)); //LED1接口输出低电平0
		delay_us(50000); //延时1秒
		
		//方法2:
		GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1-GPIO_ReadOutputDataBit(LEDPORT,LED1))); //取反LED1
		delay_ms(500); //延时1秒

		//方法3:
		GPIO_SetBits(LEDPORT,LED1); //LED灯都为高电平(1)
		delay_s(1); //延时1秒
		GPIO_ResetBits(LEDPORT,LED1); //LED灯都为低电平(0)
		delay_s(1); //延时1秒

		//方法4
		GPIO_Write(LEDPORT,0x0001); //直接数值操作将变量值写入LED
		delay_s(2); //延时1秒
		GPIO_Write(LEDPORT,0x0000); //直接数值操作将变量值写入LED
		delay_s(2); //延时1秒
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值