家具网站源码分享大全 家具网站有哪些

各位老铁们好,相信很多人对家具网站源码分享大全都不是特别的了解,因此呢,今天就来为大家分享下关于家具网站源码分享大全以及家具网站有哪些的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

3.1STM32官方固件库简介

ST(意法半导体)为了方便用户开发程序,提供了一套丰富的STM32固件库。固件库就是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API(applicationprogramminginterface应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。

简单地说,使用标准外设库进行开发最大的优势就在于可以使开发者不用深入了解底层硬件细节就可以灵活规范地使用每一个外设。标准外设库覆盖了从GPIO到定时器,再到CAN、I2C、SPI、UART和ADC等等的所有标准外设。对应的C源代码只使用了最基本的C编程的知识,所有代码经过严格测试,易于理解和使用,并且配有完整的文档,非常方便进行二次开发和应用。

3.2STM32F10x_StdPeriph_Lib_V3.5.0介绍

图1STM32F10x_StdPeriph_Lib_V3.5.0文件夹

Libraries文件夹下面有CMSIS和STM32F;

其中CMSIS目录下面是启动文件。ARM公司为了能让不同的芯片公司生产的Cortex-M3芯片能在软件上基本兼容,和芯片生产商共同提出了一套标准CMSIS(CortexMicrocontrollerSoftwareInterfaceStandard),翻译过来是“ARMCortex?微控制器软件接口标准”。ST官方库就是根据这套标准设计的。

STM32F10x_StdPeriph_Driver放的是STM32固件库源码文件。源文件目录下面的inc目录存放的是stm32f10x_xxx.h头文件,无需改动。src目录下面放的是stm32f10x_xxx.c格式的固件库源码文件。每一个.c文件和一个相应的.h文件对应。这里的文件也是固件库的核心文件,每个外设对应一组文件。

图2STM32F10x_StdPeriph_Lib_V3.5.0文件夹

Libraries文件夹里面的文件在我们建立工程的时候都会使用到。

Project文件夹下面有两个文件夹。STM32F10x_StdPeriph_Examples文件夹下面存放的ST官方提供的固件实例源码,在以后的开发过程中,可以参考修改这个官方提供的实例来快速驱动自己的外设,很多开发板的实例都参考了官方提供的例程源码,这些源码对以后的学习非常重要。STM32F10x_StdPeriph_Template文件夹下面存放的是工程模板。

Utilities文件下就是官方评估板的一些对应源码,这个可以忽略不看。

根目录中还有一个stm32f10x_stdperiph_lib_um.chm文件,直接打开可以知道,这是

一个固件库的帮助文档,这个文档非常有用,只可惜是英文的,在开发过程中,这个文档会经常被使用到。

3.3模板创建

创建STM32F103C8T6模板共需要完成8个步骤。

步骤一:该步完成三个任务①在合适的位置创建Template文件夹,如图3所示。②在Template文件夹下创建CORE、HARDWARE、OBJ、STM32F10x_FWLib、USER等5个文件夹,如图4所示。③复制开发工具——建模板资料——SYSTEM文件夹复制到Template文件夹下,如图5。此时Template文件夹下共有6个子文件夹:CORE、HARDWARE、OBJ、STM32F10x_FWLib、SYSTEM、USER,如图6。

图3创建Template文件夹

图4创建5个文件夹

图5复制SYSTEM文件夹

图6Template文件夹下的6个文件

文件夹的含义:

CORE:用来存放核心文件和启动文件;

HARDWARE:存放和硬件相关的文件;

OBJ:是用来存放编译过程文件以及hex文件;

STM32F10x_FWLib:用来存放ST官方提供的库函数源码文件。

SYSTEM:存放了三个经常用到的自定义函数:delay,sys,usart。

USER:用来存放工程文件,主函数文件main.c,以及其他包括system_stm32f10x.c等等。

步骤二:在USER文件夹中创建项目并处理。

打开keil软件,选择Project–>NewUvisionProject,如图7所示。引出对话框,在对话框的文件名处填入文件名Template,点击保存,如图8所示。

图7选择新建项目菜单

图8创建项目并起名

点保存后,引出对话框SelectDeviceforTarget’Target1’,在该对话框找到STMicroelectronics项(如图9),打开,一直找到

STMicroelectronics→STM32F1Series→STM32F103→STM32F103C8,

选择,如图10所示。

图9找到STMicroelectronics项

图10选择STM32F103C8

在图10选好之后点击OK,引出对话框图11,选择cancel。

图11ManageRun-TimeEnvironment界面

取消之后可以看到在系统界面中已经建好了一个模板框架,如图12所示。

图12模板框架

这时回到USER文件夹,可以看到在USER下有两个文件夹和两个文件,如图13所示。

图13USER下的文件和文件夹

Template.uvprojx是工程文件,非常关键,不能轻易删除。Listings和Objects文件夹是MDK自动生成的文件夹,用于存放编译过程产生的中间文件。这里,我们将把编译的中间文件存入在OBJ文件夹中,所以Listings和Objects文件夹就可以删除了。

最后,我们从STM32F10x_StdPeriph_Lib_V3.5.0\\Libraries\\CMSIS\\CM3\\DeviceSupport\\

ST\\STM32F10x下面将里面的三个文件stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,复制到USER目录之下。然后将STM32F10x_StdPeriph_Lib_V3.5.0\\

Project\\STM32F10x_StdPeriph_Template下面的4个文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h复制到USER目录下面。复制完的结果如图14所示。

图14USER下的文件和文件夹

这样USER文件夹就处理好了。

步骤三:处理STM32F10x_FWLib文件夹。

打开官方固件库包,定位到我们之前准备好的固件库包的目录

STM32F10x_StdPeriph_Lib_V3.5.0\\Libraries\\STM32F10x_StdPeriph_Driver下面,将目录下面的src,inc文件夹复制STM32F10x_FWLib文件夹下面,如图15所示。src存放的是固件库的.c文件,inc存放的是对应的.h文件。

图15STM32F10x_FWLib下的文件

步骤四:处理CORE文件夹。

下面将固件库包里面相关的启动文件复制到我们的工程目录CORE之下。打开官方固件库包,定位到目录STM32F10x_StdPeriph_Lib_V3.5.0\\Libraries\\CMSIS\\CM3\\CoreSupport下面,将文件core_cm3.c和文件core_cm3.h复制到CORE下面去。然后定位到目录

STM32F10x_StdPeriph_Lib_V3.5.0\\Libraries\\CMSIS\\CM3\\DeviceSupport\\ST\\STM32F10x\\startup\\arm下面,将里面startup_stm32f10x_md.s文件复制到CORE下面。不同容量的芯片使用不同的启动文件,STM32F103C8T6是中容量芯片,所以选择startup_stm32f10x_md.s文件,结果如图16所示。

图16CORE下的文件

步骤五:向工程添加组件。

右键点击Target1,选择ManageProjectitems选择,如图17所示。

图17ManageProjectitems项

引出ManageProjectitems对话框,如图ProjectTargets一栏,将Target名字修改为Template,然后在Groups一栏删掉SourceGroup1,建立5个Groups:CORE,HARDWARE,FWLIB,SYSTEM,USER,如图18所示。然后点击OK,可以看到我们的Target名字以及Groups情况,如图19。

图18添加组

图19项目组情况

步骤六:向工程组添加文件。

①.向CORE中添加:还回到刚才的ManageProjectitems对话框,选择CORE,然后点击右边的AddFiles,定位到core_cm3.c,startup_stm32f10x_md.s(注意,默认添加的时候文件类型为.c,也就是添加startup_stm32f10x_md.s启动文件的时候,你需要选择文件类型为Allfiles才能看得到这个文件),然后点击Add,然后Close,可以看到Files列表下面包含我们添加的文件。如图20—图22所示。

图20为CORE添加文件

图21为CORE添加文件

图22为CORE添加文件

②.向HARDWARE中添加,这部分在需要时再添加。

③.向FWLIB中添加:选择FWLIB,然后点击右边的AddFiles,定位到STM32F10x_FWLib/src下面,将里面所有的文件选中(Ctrl+A),然后点击Add,然后Close,可以看到Files列表下面包含我们添加的文件,如图23—图24所示。

图23为FWLIB添加文件

图24为FWLIB添加文件

④.向SYSTEM中添加:进入到SYSTEM的下一级文件夹,再各自进入一级文件夹,可以找到3个.c文件,加入组内,如图25所示。

图25为SYSTEM添加文件

⑤.向USER中添加:USER目录下面需要添加的文件为main.c,stm32f10x_it.c,

system_stm32f10x.c。

图26为USER添加文件

添加文件后,项目变成为图27情况。

图27项目组情况

步骤七:设置项目。

在编译程序之前,还需要对项目进行设置,单击图28上的图标,引出图29对话框。

图28项目设置

图29Output设置

在打开的对话框中,选择output页面,在该页面中单击SelectFolderforObjects引出图30对话框,选择OBJ文件夹,编译的中间文件和hex程序存放在这里。同时在该页面还需要勾选CreateHEXFile,如图31。

图30选择编译存放文件夹

图31完成编译其他选项

设置完输出方式后,再来设置头文件目录。还是图31的界面,切换到C/C++页,如图32所示。

图32设置头文件

在C/C++页面中,在Define项后输入STM32F10X_MD,USE_STDPERIPH_DRIVER,在IncludePaths后单击图示按钮,引出对话框图33所示,选择如图文件夹,单击OK即可。

图33设置头文件

步骤八:下载验证。

在USER下选择文件main.c(如图34),在文件中输入如下代码:

图34选择main.c

34;stm32f10x.h”

voidDelay(u32count)

{

u32i=0;

for(;i<count;i++);

}

intmain(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOC,&GPIO_InitStructure);

GPIO_SetBits(GPIOC,GPIO_Pin_13);

while(1)

{

GPIO_ResetBits(GPIOC,GPIO_Pin_13);

Delay(3000000);

GPIO_SetBits(GPIOC,GPIO_Pin_13);

Delay(3000000);

}

}

输入后进行保存,然后单击工具栏上的编译按钮,如图35所示。如果结果如图36所示,则模板搭建成功。

图35编译按钮

图36模板搭建成功

以上是利用MD5进行STM32开发模板搭建的介绍,欢迎共同讨论,纠错。期待点赞、转发。粉丝朋友可直接私信索要相关资料(包括模板及源代码)。

OK,关于家具网站源码分享大全和家具网站有哪些的内容到此结束了,希望对大家有所帮助。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平