STM32固件库开发--------流水灯

使用固件库点亮LED灯

你好! 这是我第一篇博文,不足之处多多包涵。


一、什么是固件库

固件库是ST公司推出的,固件库是将最底层的驱动函数封装成库函数,在开发时可根据固件库手册了解库函数的作用。

二、开发步骤

1.引入库

要将库函数添加进工程文件

2.LED初始化

代码如下:

void LEDInit(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使能RCC时钟
	
	GPIO_InitTypeDef GPIO_InitStructure; 
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14 |GPIO_Pin_15 ; 
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
	
	GPIO_Init(GPIOD, &GPIO_InitStructure); 
	LEDOff(0);
}

3.LED驱动代码

代码如下:

void LEDToggle(void)
{
	if(GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_11)){		
		GPIO_ResetBits(GPIOD, GPIO_Pin_11); 
	}else{
		GPIO_SetBits(GPIOD, GPIO_Pin_11);
	}
	if(GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_13)){		
		GPIO_ResetBits(GPIOD, GPIO_Pin_13); 
	}else{
		GPIO_SetBits(GPIOD, GPIO_Pin_13);
	}
	if(GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_14)){		
		GPIO_ResetBits(GPIOD, GPIO_Pin_14); 
	}else{
		GPIO_SetBits(GPIOD, GPIO_Pin_14);
	}
	if(GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_15)){		
		GPIO_ResetBits(GPIOD, GPIO_Pin_15); 
	}else{
		GPIO_SetBits(GPIOD, GPIO_Pin_15);
	}
}

2.main函数

main函数代码:

void DelayMs(unsigned long n) //延时函数
{
	unsigned long i = 0;
	while(n--)
	{
		i=8000;
		while(i--);
	}
}

int main(void)
{
	LEDInit();
	while(1)
	{
		LEDToggle();
		DelayMs(1000);
	}
}

总结

对于刚入门STM32的同学来说,库函数开发有点懵懵懂懂,其实认真看固件库手册,把固件库的大概框架了解一下,固件库大概就分初始化函数和功能函数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值