《使用STM32库建立keil-4工程详细步骤.docx》由会员分享,可在线阅读,更多相关《使用STM32库建立keil-4工程详细步骤.docx(18页珍藏版)》请在优知文库上搜索。
1、STM32运用外设库建立kei1.工程新建文件夹取名为自己想要的名称(如GP1.O)JGno1.打开文件,建立如下的文件结构:2,打开Pretjecb建立如下文件;,JP:5nGPI0Project3、打开下栽来的外设驱动库如下:JJt1132HxStustUkM$05,打开卜载的飘动库卜的Project文件.打开STM32F10x_StdPeriPh-Examp1.es,找到我们须4,把1.ibraries的下的两个文件(CMSIS和STM32FIOx_SdPeripb_Driver)贝到GPIO文件下:UFxsnwio要的例程,JjigpioJtftf1.SAU3CJacAA1.j1111
2、tnttAhM7ebWdtv9etftesQuMtargetTfinstoteFIeSWbdCpenUetHeOpenMapFi1.eAidGroup.IIReeoeitemManageocnponente.,3ShowInckxieFDependenoesAJdOutput15、建立如下组16.在USCr卜面添加刚才方法哦USCT卜的C文件:roupUserSe查找范S1.Q),)UKr三t*32t1.-t.c三y三tctn32f1.xc文件名J):PJnainc,*三tn32f1.x-it.c*ystn-st32f1.0xc*文件英至tt):CSourcefi1.(Kc)j点击Add17、
3、增加StdPcriph-Drivcr的文件.在自己工程StdPcriph.Drivcr下面的下面的src文件如下:(说明;只须要增加自己须要的,我这里全部添加了);rouprStdPeriphDriverr?-.1.tJ:二,二:-.r.-1.t1.:j-r.,f1.:.eKff1.z-r,:,门1Kst2f1.x.dac三tn32f1.x-dbcncucz.rc1.,t1.:1.32f1.x.tdcc*st1132f1.0x3)c*stf32f10x.can文件):ICSoxxrcee(*.C)在CMS1.S卜增加文件:CMS1.S文件下的CM3的CoreSupport的文件19、在Star
4、tUp卜,面增加位于cws1.sCM3DevieoSuppo吧STSM32F10xtartupare卜的文2(h选择自己芯片对应的文件.我用的是其次种StartUP_$1.m32f1.OxJk1.s21、增加完文件后工程如下现在左犍点击选中GP1.o工程名.在点击才沏选择OP1.iOnTOrTargCt4GP1.O来配置工程22、在CIrtrHrt页面下点击Se1.ectFo1.derObjects,选择我11在PrOjeC1.书目下的Obj文件23.勾选长生hex文件.DeViCe1.Tu-(tOutput1.istin(VserSefeOFoIdeHaQbrch.|Dgd1.eExecUJ
5、abIeAObjVest,PebUf1.IMOanabon凌立HEX文件7Br选择我们在PrOjeCI书目下的1.ist文件在CC+页面下配置,这是预编译的定义:Define中写入USE_STDPERIPH_DR1.VER,STM32F1OX_HD其中第一个USE_STDPERIPF1.DR1.VER”定义了运用外设阵,定义此项会包含*_Conf.h文件,从而使用外设库:而其次个“STM32FIOXID”从字面理解校当地定义了大等容M的STM32MCU.STM32FIOX-MD则为中等容盘等.25、现在设置Inc1.udepaihs:OKCgCaDfau1.ts设湿如下的头文件路径:点击Ok,
6、分别为:AUser.CMSISM3torcSupport.CMSISCM3DcviccSupprtSTSTM32FI0x.STM32F1Ox-StdPeripkDriveAinc26、 设置完毕,确定。k,ok.结束。27、 由于运用的是都是拷贝的东西.在manx下面我们有些东西没有用到.须要做竹定的修该,改成你自己须要的例程就可以了.我的文件脩改如下 briefHdinProgrd0 praHone Oretua1.Nonp/intRain(void)(fAtthisstagethemicrocontro1.1.erc1.ocksettingisa1.readyconfigured,this
7、isdonethrouqSystenInitOFunctiont1.chIsca1.1.edfrostartupfi1.*(st4rtup-st32F1dx_xx.s)beforetobranchtoapp1.icationMin.VorpconFigurrthedefau1.tsettingofSycton1.nitOFunction,refertosystrnstn32F10.cFi1.e/Configurea1.1.unusedGPIOportpinsinAna1.oqinputnod。(f1.oatinginputtriggerOFF),thisui1.1.reducethepoupr
8、cnsaptionandincreasethePB2PrriphC1.ockCnd(RCCAPB2Periph-CPI0RCC_APB2PrriphGP!OBRCC_APB2Periph_GPI0CRCC_AP02Prriph_GP100RCC_APB2Periph_GP!0E.CHAi); PI0,InitStructure.CP10,Pin-CPIO-Pin1.1.; P!O_1.nitStructur.CPIO_Hodr-CPIO_Nodr_A1.M:GPIO1.nit(CP!UA.MPIoTnitStructurr);GP1.OIniMGP1.OB.KPIQInitStructure)
9、;GPIoInit(GF!OC.(GPIO_InitStructure);GPIOInit(GPIOP,MPIOInitStructure);CPIO.Init(CPIOf.ftCPIO.InitStructure);RCC_APB2PrriphC1.ockCnd(RCC_APB2Prriph_CPIUARCC-APB2PrripCPiOBRCCAPB2Periph_CPI0CRCC_AP82Prriph_CP!0DRCC_APB2Periph_GPI0t,0ISA81.C);whi1.e(1)Insertde1.ay/De1.ay(OxArFFF);*8*号*4*4*4*号*y*8*号*号*8*y*c*一4一4一4*8*号*号4*4*4:44:8*号*8*8*4*号*8*多*8才 ti1.cGPIQrIO1.bgg1.cmain.c au1.horMCDApp1.icationTeam da1.e1152O1.O briefMainprogrambody.*衾*衾*分*衾*:今*:*:*衾*衾*京*9t*:衾*分*京*:衾*分*衾*!衾京*衾*衾*!分*coPy* THEPRESENTFIRMWAREWHICHISFORGU