【STM32工程模板】库函数模板搭建

本文讲解的是一个库函数模板工程的搭建,我们做的基于库函数的开发基本上都是基于该模板。当然STM32开发不只是有库函数一个途径,还有寄存器、HAL库等方式。那本节主要讲的是关于库函数的模板搭建,需要相关文件的可以私信。下面进入正题。

Step1:准备项目目录。新建Template文件夹,文件夹结构如下图:在这里插入图片描述
CORE【内核驱动程序】 包含c文件,放置ST公司官方提供的,对arm内核和mcu系统的基础文件,一般不做修改。库函数模板中,CORE包含core_cm3.c/.h与启动文件(startup_stm32f10x_hd.s)
启动文件的选择:
在这里插入图片描述
OBJ【文件编译输出目录】 编译后生成的文件基本都在该目录下。设置输出文件存放路径的方法:(记得勾选create hex file)
在这里插入图片描述
STM32F10x_FWLIB【内部功能的基本函数库】 包含c文件,st公司提供,需要根据用户的需求对其进行增减。这部分的文件都是在做项目的时候参考的,比如说你要控制GPIO,那就需要将官方内部的GPIO函数库导进去,然后查看GPIO文件写关于GPIO的代码。
在这里插入图片描述
inc存放.h文件,src存放源程序.c文件。博主自己的如下:
在这里插入图片描述
USER【用户程序】 包含主程序。
SYSTEM【内部功能的驱动函数】 包括dealy.c和sys.c等,有用户编写的延时程序,也有st公司提供。
ex:HARDWARE【外部硬件的驱动程序】 用户根据自己需求编写的驱动文件,如led.c、key.c等。
Step2:项目配置。

  • 打开keil:project->new project->Template创建项目。
  • 配置Step1中的目录分组:
    在这里插入图片描述
    如USER分组,需要将USER文件夹下的所有.c文件都导入进去,方法图中已标出,其他雷同。
  • 魔术棒的配置
    需要打开C、C++选项卡,配置启动文件,在Define中定义:STM32F10X_HD,USE_STDPERIPH_DRIVER, 当然这里对应你之前选择的启动文件,如果是LD,那就要换成LD,如图中1处。还需要配置头文件路径(h文件路径),这里需要配置到h文件的当前文件夹。对于hex文件的生成,我们需要打开output选项卡,勾选Create Hex file。

Step3:项目开发。 如实现led闪烁的功能,主函数代码如下所示。编译运行,烧入开发板即可。

#include "stm32f10x.h"

void Delay(u32 count)
{
	u32 i=0;
	for(;i<count;i++);
}
int main(void)
{	
	GPIO_InitTypeDef  GPIO_InitStructure;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|
	RCC_APB2Periph_GPIOE, ENABLE);	    
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;			    
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 	 
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	 
	GPIO_Init(GPIOB, &GPIO_InitStructure);			     
	GPIO_SetBits(GPIOB,GPIO_Pin_5);					
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;	           
	GPIO_Init(GPIOE, &GPIO_InitStructure);	  	       
	GPIO_SetBits(GPIOE,GPIO_Pin_5); 			   
	while(1)
	{
		GPIO_ResetBits(GPIOB,GPIO_Pin_5);
		GPIO_SetBits(GPIOE,GPIO_Pin_5);
		Delay(3000000);
		GPIO_SetBits(GPIOB,GPIO_Pin_5);
		GPIO_ResetBits(GPIOE,GPIO_Pin_5);
		Delay(3000000);
		}
}

【提醒】:上述讲解均是以STM32F103ZET6为例,其它开发板可能需要做小的修改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: STMicroelectronics(意法半导体)推出了适用于STM32L151微控制器的库函数模板,这个模板以C语言编写,旨在简化嵌入式系统的开发和设计。 STM32L151是一款低功耗单片机,具有许多先进的功能和特性,如加速计、LPUART串口和低功耗模式等等。STMicroelectronics的库函数模板为开发人员提供了一系列预定义的功能和命令,可以轻松地操作这些功能和特性。 这个库函数模板具有一些重要的特性,包括丰富的文档和示例程序、灵活的配置选项、可扩展的结构和大量的API。还有一些其他的优点,例如它的可移植性、易用性和可维护性,这些都使得这个库函数模板成为嵌入式开发的重要工具。 使用STM32L151库函数模板可以让开发人员更快速、更轻松地开发嵌入式系统,同时也能减少出错的可能性。此外,STMicroelectronics还提供了一些其他的发展工具,如调试器、编译器和现成的硬件模块,可以与这个模板一起使用,以更好地支持开发过程。 ### 回答2: STM32L151是一款高性能低功耗的微型控制器芯片,它具有丰富的功能和灵活的控制性能,被广泛应用于智能物联网、智能家居、医疗设备、工业控制等领域。 而STM32L151库函数模板是为了帮助程序员更加方便快捷地使用这款芯片进行开发设计而产生的。该模板是一份提供了各种基础功能接口的代码集合,涵盖了芯片的各个部分,如GPIO、I2C、SPI、USART等。 使用库函数模板,可以在不需要了解底层寄存器配置的情况下,通过简单的函数调用来实现各种应用场景。在使用过程中,只需要引用预先定义好的头文件,即可调用所需的函数。 例如,要使用GPIO口输出高电平或低电平,只需要使用“GPIO_WriteBit”函数即可。如果需要使用I2C总线进行数据传输,也可以使用预先封装好的函数进行发送和接收数据。 同时,库函数模板还提供了大量的示例代码,可以帮助程序员更好地理解和使用模板。同时,ST官方也提供了完善的开发文档和技术支持,使得开发者能够更加快速地上手开发,节省大量开发时间。 总之,STM32L151库函数模板是一项极具实用价值的工具,使得STM32L151的使用变得更加方便、高效、稳定,为广大工程师和开发者提供了强有力的软件支持,从而在嵌入式应用领域具有了广泛的应用前景。 ### 回答3: stm32l151库函数模板,是一个为STM32L151单片机提供的函数库模板。该函数库模板包含了丰富的功能和特性,广泛应用于嵌入式系统的开发和设计中。 stm32l151库函数模板提供了一系列的函数接口,这些函数接口可以实现各种不同的功能。例如,GPIO控制、定时器和计数器控制、ADC采样、PWM输出、中断处理等等。此外,stm32l151库函数模板还提供了良好的硬件和软件资源管理能力,提高了嵌入式系统的可靠性和稳定性,同时还能够提高系统的处理效率和性能水平。 通过stm32l151库函数模板,用户可以快速、高效地实现一些基本的嵌入式系统的功能。而且,由于模板库函数的标准化,用户可以更好地维护嵌入式系统的稳定性和可靠性。 不仅如此,stm32l151库函数模板还是一个开放式的软件设计模板,用户可以根据自己的需求,自由地修改和完善模板库函数的功能,实现更加复杂和高级的嵌入式系统的设计和开发。 总之,stm32l151库函数模板是一个强大的软件开发资源,对于嵌入式系统的设计和开发有着重要的意义。通过学习和熟练掌握该函数库模板的使用方法,用户可以更好地实现嵌入式系统的开发和应用,应对不同的应用场景和需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐大队队长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值