stm32l151工程模板.docx

上传人:b****8 文档编号:10042980 上传时间:2023-02-08 格式:DOCX 页数:8 大小:19.61KB
下载 相关 举报
stm32l151工程模板.docx_第1页
第1页 / 共8页
stm32l151工程模板.docx_第2页
第2页 / 共8页
stm32l151工程模板.docx_第3页
第3页 / 共8页
stm32l151工程模板.docx_第4页
第4页 / 共8页
stm32l151工程模板.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

stm32l151工程模板.docx

《stm32l151工程模板.docx》由会员分享,可在线阅读,更多相关《stm32l151工程模板.docx(8页珍藏版)》请在冰豆网上搜索。

stm32l151工程模板.docx

stm32l151工程模板

竭诚为您提供优质文档/双击可除

stm32l151工程模板

  篇一:

stm32工程模板

  你是问有官方固件库创建工程吧?

我这里给你说说mdk的创建方法,如果你用的时iaR环境也差不多。

  1.解压stm32f10x_stdperiph_lib.zip可以从st官方网站免费下载。

最新标准库版本为3.5.0

  2.创建一个demo文件夹

  2.1新建子文件夹user,用于存放用户源程序

  2.2新建子文件夹project,用户keil工程文件

  2.3在project下依次创建obj和list子文件夹,存放编译过程中产生的中间文件。

  3.复制源代码到demo文件夹

  3.1将stm32f10x_stdperiph_lib\stm32F10x_stdperiph_lib_V3.1.2libraries文件整体复制到demo文件夹下。

这就是st的标准库,是以源代码形式提供的。

  3.2将库中的演示代码iotoggle中的文件复制到demo\user文件夹.4.新建一个keilmdk工程

  4.1启动keilmdk,点击菜单newuVisionproject,然后按向导进行操作

  4.2选择cpu类型为stm32F103ze(这是安富莱stm32开发板采用cpu类型)

  4.3当提示是否复制启动代码时,请选择否。

(我们用最新的库中的启动代码,不用keil软件自带的旧版本启动文件)

  4.4根据自己的需要修改target名字。

(名字任意)

  4.5为了便于代码管理,在这个project下创建几个group(名字可以任意)

  user:

存放用户自己写的源代码

  RVmdk:

存放启动文件(汇编文件)

  stdperiph_driver:

存放st标准库文件

  cmsis:

存放cmsis接口文件(这也是库的一部分)4.6创建好group后,我们开始依次添加文件。

  5.修改源代码。

我们将修改main.c文件,换成我们自己跑马灯程序。

  6.配置工程,点击“options”按钮

  6.1切换到output。

  选择object文件夹。

  在createhexFile前打钩。

6.2切换带listing。

选择listings文件夹6.3切换到c/c++添加两个预编译宏stm32F10x_hd,use_stdpeRiph_dRiVeR(这是st库用到了这两个宏)修改includes路径6.4切换到debug选择硬件调试器(缺省是软件仿真),我们选择cortex-m3j-link调试器再Runtomain前打钩6.4切换到utilities选额调试器类型,我们选择cortex-m3j-link点settings按钮,添加Flash编程算法,我们选择stm32高密度器件,Flash容量512k字节

  7.配置工程完毕。

下面开始编译。

  8.编译ok,开始调试。

  9.教程结束。

  讲得比较清楚了吧,还有疑问可以问我。

或者联系我,我一步一步教你。

  其他类似问题

  

  

  

  其他3条回答20xx-07-2800:

25|四级

  函数库只不过是意法半导体公司的开发人员为了缩短程序员的工作量而开发的对stm32内部寄存器配置的一个底层驱动库,使用函数库是主要是为了缩短开发周期,初学一般可以选择这种方式,比较容易上手,不过上手之后应该自己去研究一下stm32内部寄存器的配置,比如位段等。

  使用函数库创建工程,最简单的就是把.h和.c文件添加到工程中,然后自己写main.c以及修改中断处理函数stm32f10x_it.c。

我觉得你的问题不是如何建立工程,而是如何让一个stm32跑起来,由于stm32与51差别甚大,上电后需要对时钟以及片上外设进行初始化的配置,还有中断向量表的映射等。

可以看看stm32不完全手册V2.0等教程。

评论|00

  20xx-07-2717:

21|一级

  其实用库函数很简单的,只需将你认为有用的库函数文件包括“c"和对应的”h"文件加入入你的工程中。

你在设计main函数时直接调用就行了,无需在主函数中声明。

有关函数及其参数的声明在“h"文件中,函数体的书写在"c"文件中。

你具体要用哪些函数你要仔细的阅读有关的函数。

我用的时候一般是将对应的文件找开,将函数名我参数直接复制过去。

  评论|00

  查看更多其他回答stm32的相关知识等待您来回答

  

  

  

  

  

  

  

  

  

  

  

  

  

  篇二:

ststm32l151超低功耗32位mcu开发方案

  ststm32l151超低功耗32位mcu开发方案

  关键字:

aRmcortex-m3mcu,医疗电子,工业控制,pc外设,有线和无线传感

  器,gps

  st公司的stm32l151xe和stm32l152xe是采用高性能aRmcortex-m3Risc内核的高性能超低功耗32位mcu,工作频率32mhz(33.3dmips),集成了usb连接电源,存储器保护单元(mpu),高速嵌入存储器(512kb闪存和80kbRam),以及连接到两个apb总线的增强i/o和外设.主要用在医疗和手持设备,应用控制和用户接口,pc外设,游戏,gps和体育运动设备以及民用计量表.本文介绍了stm32l151xe和stm32l152xe主要特性,框图和开发板stm32l-discoVeRy主要特性,框图,电路图,材料清单和pcb设计文件.

  theultra-low-powerstm32l151xeandstm32l152xedevicesincorporatetheconnectivitypoweroftheuniversalserialbus(usb)withthehigh-performanceaRmcortex-m332-bitRisccoreoperatingatafrequencyof32mhz(33.3dmips),amemoryprotectionunit(mpu),high-speedembeddedmemories(Flashmemoryupto512kbytesandRamupto80kbytes),andanextensiverangeofenhancedi/osandperipheralsconnectedtotwoapbbuses.

  thestm32l151xeandstm32l152xedevicesoffertwooperationalamplifiers,one12-bitadc,twodacs,twoultra-low-powercomparators,onegeneral-purpose32-bittimer,sixgeneral-purpose16-bittimersandtwobasictimers,whichcanbeusedastimebases.

  moreover,thestm32l151xeandstm32l152xedevicescontainstandardandadvancedcommunicationinterfaces:

uptotwoi2cs,threespis,twoi2s,threeusaRts,twouaRtsandanusb.thestm32l151xeandstm32l152xedevicesofferupto34capacitivesensingchannelstosimplyaddatouchsensingfunctionalitytoanyapplication.theyalsoincludeareal-timeclockandasetofbackupregistersthatremainpoweredinstandbymode.

  Finally,theintegratedlcdcontroller(stm32l151工程模板)(exceptstm32l151xedevices)hasabuilt-inlcdvoltagegeneratorthatallowstodriveupto8multiplexedlcdswiththecontrastindependentofthesupplyvoltage.

  theultra-low-powerstm32l151xeandstm32l152xedevicesoperatefroma1.8to3.6Vpowersupply(downto1.65Vatpowerdown)withboRandfroma1.65to3.6VpowersupplywithoutboRoption.theyareavailableinthe-40to+85°cand-40to+105°ctemperatureranges.acomprehensivesetofpower-savingmodesallowsthedesignoflow-powerapplications.

  thesefeaturesmaketheultra-low-powerstm32l151xeandstm32l152xemicrocontrollerfamilysuitableforawiderangeofapplications:

  medicalandhandheldequipment

  applicationcontrolanduserinterface

  pcperipherals,gaming,gpsandsportequipment

  alarmsystems,wiredandwirelesssensors,videointercom

  utilitymetering

  stm32l151xe和stm32l152xe主要特性:

  ultra-low-powerplatform

  –1.65Vto3.6Vpowersupply

  –-40℃to105℃temperaturerange

  –290nastandbymode(3wakeuppins)

  –1.11μastandbymode+Rtc

  –560nastopmode(16wakeuplines)

  –1.4μastopmode+Rtc

  –11μalow-powerrunmodedownto4.6μainlow-powersleepmode–195μa/mhzRunmode

  –10naultra-lowi/oleakage

  –8μswakeuptime

  core:

aRmcortex-m332-bitcpu

  –From32khzupto32mhzmax

  –1.25dmips/mhz(dhrystone2.1)

  –memoryprotectionunit

  upto34capacitivesensingchannels

  cRccalculationunit,96-bituniqueid

  Resetandsupplymanagement

  –low-power,ultrasafeboR(brownoutreset)with5selectablethresholds–ultra-low-powerpoR/pdR

  –programmablevoltagedetector(pVd)

  clocksources

  –1to24mhzcrystaloscillator

  –32khzoscillatorforRtcwithcalibration

  –internal16mhzoscillatorfactorytrimmedRc(+/-1%)withplloption–internallow-power37khzoscillator

  –internalmultispeedlow-power65khzto4.2mhzoscillator

  –pllforcpuclockandusb(48mhz)

  pre-programmedbootloader

  –usbandusaRtsupported

  upto116fasti/os(102i/os5Vtolerant),allmappableon16externalinterruptvectors

  memories

  –512kbFlashwithecc(with2banksof256kbenablingRwwcapability)

  –80kbRam

  –16kboftrueeepRomwithecc

  –128bytebackupregister

  lcddriver(exceptstm32l151xedevices)upto8x40segments,contrastadjustment,blinkingmode,step-upconverter

  Richanalogperipherals(downto1.8V)

  –2xoperationalamplifiers

  –12-bitadc1mspsupto40channels

  –12-bitdac2chwithoutputbuffers

  –2xultra-low-powercomparators(windowmodeandwakeupcapability)dmacontroller12xchannels

  11xperipheralcommunicationinterfaces

  –1xusb2.0(internal48mhzpll)

  –5xusaRt–3xspi16mbits/s(2xspiwithi2s)

  –2xi2c(smbus/pmbus)

  11xtimers:

1x32-bit,6x16-bitwithupto4ic/oc/pwmchannels,2x16-bitbasictimers,2xwatchdogtimers(independentandwindow)

  developmentsupport:

serialwiredebug,jtagandtrace

  图1.stm32l151xe和stm32l152xe框图

  开发板stm32l-discoVeRy

  thestm32l-discoVeRy(ordercodestm32l-discoVeRy)andthe32l152cdiscoVeRy(ordercodestm32l152c-disco)helpyoutodiscoverthestm32lultralowpowerfeaturesandtodevelopandshareyourapplications.thestm32ldiscoVeRyand32l152cdiscoVeRyarebasedonanstm32l152Rbt6(128kbytesofFlashmemory)andanstm32l152Rct6(256kbytesofFlashmemory),respectively.

  theyincludeanst-link/V2embeddeddebugtoolinterface,lcd(24segments,4commons),leds,pushbuttons,alineartouchsensor,andfourtouchkeys.

  inthisdocument,stm32l1discoveryrefersbothtothestm32l-discoVeRyandtothe32l152cdiscoVeRy.stm32l-discoVeRyand32l152cdiscoVeRykitsarefunctionallyequivalent.thedifferenceistheinternalFlashmemorysize(128kbytesor256kbytes).

  图2.开发板stm32l-discoVeRy外形图

  开发板stm32l-discoVeRy主要特性:

  anstm32l152Rbt6(128kbyteFlashmemory,16kbyteRam,4kbytedataeepRom)orstm32l152Rct6(256kbyteFlashmemory,32kbyteRam,8kbytedataeepRom)microcontrollerina64-pinlqFppackage

  on-boardst-link/V2withselectionmodeswitchtousethekitasastandalonestlink/V2(withswdconnectorforprogramminganddebugging)boardpowersupply:

throughusbbusorfromanexternal3.3or5Vsupplyvoltage

  externalapplicationpowersupply:

3Vand5V

  iddcurrentmeasurement

  lcd

  –dip28package

  –24segments,4commons

  Fourleds:

  –ld1(red/green)indicatingusbcommunication

  –ld2(red)indicatingthat3.3Vpowersupplyison

  –twouserleds,ld3(green)andld4(blue)

  twopushbuttons(userandreset)

  篇三:

stm32工程模版的建立

  通过stm32固件库V3.5.0来建立一个简单的工程模版

  首先,打开keil,选择project->newuVisionproject,选择合适的文件夹,输入工程名后,点击保存,建立工程。

  如下图,在template文件夹下建立工程名为stm32_demo的工程。

  然后我们选择器件,以stm32F103Rb为例(stm32其他系列可类推),在stmicroelectronics栏中选择stm32F103Rb,如下图,在图右侧我们可看到关于芯片的描述。

  点击确定后弹出如下的对话框,问需不需要添加启动文件(此启动文件为mdk自带的),

  在这里,选择否(n),等会我们会添加stm32固件库中的启动文件。

  接下来,我们要建立几个文件组,用来存放不同的源文件,让整个工程目录结构清晰,

  点击

  中的

  后如下图所示

  点击

  中的

  可建立一个文件组,

  可以删除分组,下面我们将

  建立user,stdperiph_drive,cmsis,mdk-aRm四个文件组,user用来存放与用户有关

  的文件,stdperiph_drive用来存放库函数中的外设驱动文件,cmsis用来放于cortex_m3内核有关的文件,mdk-aRm用来存放启动文件,文件组建立好后,如下图所示。

  点击ok,我们可看到文件组如下所示

  接下来,我们将对固件库文件夹(如下图所示)与template文件夹中的文件进行操作。

  将固件库文件夹中的libraries文件夹复制到工程目录下(即刚才建立的template文件夹下),并在template下建立user与output两个文件夹,user用来放与用户代码有关的文件,output用来存放编译后产生的中间文件。

打开template文件夹后如下图所示。

  然后,将

  stm32F10x_stdperiph_lib_V3.5.0\project\stm32F10x_stdperiph_examples\gpio\iotoggle目录下main.c,stm32f10x_conf.h,stm32f10x_it.h,stm32f10x_it.c四个文件复制到user目录下。

  至此,文件的操作结束。

重新点击

  ,现在我们要向各个文件组中添加文件。

  首先是user文件组,点击addFiles,然后添加user文件夹下的3个c文件,如下图所示。

  然后是stdperiph_drive文件组,向其添加libiraries\stm32F10x_stdperiph_driver\src下的所有源文件,如下图所示

  然后是cmsis文件组,向其添加libiraries\cmsis\cm3\coresupport下的core_cm3.c和libiraries\cmsis\cm3\devicesupport\st\stm32F10x下的system_stm32f10x.c文件,如下图所示

  然后是mdk-aRm文件组,向其添加启动文件,启动文件在

  libiraries\cmsis\cm3\devicesupport\st\stm32F10x\startup\arm下,因为我们选择的芯片型号为stm32F103Rb,故向其添加startup_stm32f10x_md.s,如下图所示,其他类型芯片可根据芯片容量来选择相应的启动文件

  完成后,点击ok,至此,文件组的文件添加完毕。

  接下来,我们将进行编译选项的设置

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1