<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32學(xué)習(xí)筆記——使用函數(shù)庫編程控制GPIO口輸出

          STM32學(xué)習(xí)筆記——使用函數(shù)庫編程控制GPIO口輸出

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          看了網(wǎng)上許多人的代碼以及各類開發(fā)板所帶的例程,大多數(shù)使用的都是官方發(fā)布的函數(shù)庫來編程,通過查詢后發(fā)現(xiàn),使用函數(shù)庫來編程可以簡化開發(fā)過程,并不需要追溯到各個(gè)寄存器,通過查看庫手冊,新手也可以快速應(yīng)用STM32,因此,決定先從函數(shù)庫開始入門!

          1.建立帶函數(shù)庫的IAR項(xiàng)目工程

          本文引用地址:http://www.ex-cimer.com/article/201611/322900.htm

          先從網(wǎng)上下載3.5版(據(jù)說3.0版以后的固件庫才逐漸穩(wěn)定)stm32固件庫(stm32f10x_stdperiph_lib)。由于與固件庫版本兼容問題,重新下載安裝了IAR6.30版。

          1.1 創(chuàng)建項(xiàng)目文件夾“project”;

          1.2解壓“stm32f10x_stdperiph_lib.rar”后,

          將...stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0下的“Libraries”文件夾拷貝到“project”文件夾,并在“project”文件夾中新建“project”文件夾以便與“Libraries”文件夾區(qū)分開;

          1.3將...stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template下的“main.c”、“stm32f10x_conf.h”、“stm32f10x_it.c”、“stm32f10x_it.h”拷貝至...projectproject文件夾中;

          1.4將...stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_TemplateEWARM下的“stm32f10x_flash.icf”、“stm32f10x_flash_extsram.icf”、“stm32f10x_nor.icf”、“stm32f10x_ram.icf”拷貝至...projectprojectEWARM文件夾中。

          1.5新建IAR工程項(xiàng)目,添加分組及文件如圖:


          其中:

          lCore_cm3.c在…projectLibrariesCMSISCM3CoreSupport文件夾中;

          lSystem_stm32f10x.c在…projectLibrariesCMSISCM3DeviceSupportSTSTM32F10x文件夾中;

          lStartup_stm32f10x_md.s在...projectLibrariesCMSISCM3DeviceSupportSTSTM32F10xstartupiar文件夾中,此外根據(jù)所使用芯片大小不同,所選擇的startup文件也不同,具體選擇如下:

          startup_stm32f10x_cl.s互聯(lián)型的器件,STM32F105xx,STM32F107xx
          startup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xx
          startup_stm32f10x_hd_vl.s大容量的STM32F100xx
          startup_stm32f10x_ld.s小容量的STM32F101xx,STM32F102xx,STM32F103xx
          startup_stm32f10x_ld_vl.s小容量的STM32F100xx

          startup_stm32f10x_md.s中容量的STM32F101xx,STM32F102xx,STM32F103xx
          startup_stm32f10x_md_vl.s中容量的STM32F100xx
          startup_stm32f10x_xl.sFLASH在512K到1024K字節(jié)STM32F101xx,STM32F102xx,STM32F103xx

          其中大、中、小容量的區(qū)分如下圖所示:

          各型號名稱辨識如下圖所示:

          個(gè)人所使用的芯片型號是STM32F103VBT6,所以是屬于中等容量,所以選擇的是”startup_stm32f10x_md.s”文件。

          lLWIB組則根據(jù)需要添加,由于要點(diǎn)亮led燈需要用到GPIO和時(shí)鐘,所以添加了stm32f10x_gpio.c和stm32f10x_rcc.c兩個(gè)文件,均 在...projectLibrariesSTM32F10x_StdPeriph_Driversrc下

          l根據(jù)需要修改“main.c”文件,也可自己創(chuàng)建空白文件,但需要包含#include "stm32f10x.h"代碼。

          項(xiàng)目設(shè)置

          除了“學(xué)前準(zhǔn)備”文中所需要的設(shè)置外,還需要設(shè)置的項(xiàng)有:

          GeneralOptions>Library Configuration項(xiàng):

          C/C++Compiler>Preprocessor項(xiàng):

          OutputConverter項(xiàng):

          Output項(xiàng):

          至此,工程設(shè)置完畢,可以往main文件里寫空代碼試著編譯,如:

          [cpp]view plaincopy
          1. #include“stm32f10x.h”
          2. Intmain()
          3. {While(1);}



          上一頁 1 2 3 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();