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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32 V3.5固件庫的使用,如何建工程

          STM32 V3.5固件庫的使用,如何建工程

          作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
          昨天到現(xiàn)在一直在嘗試用STM32 V3.5固件庫建立自己的工程,因?yàn)楫吘筕3.5出來已有一段時(shí)間了,用舊庫感覺不是很爽,所以想使用一些新庫怎么樣,沒想到用起來沒有想象中的那么簡單,主要還是不熟操作流程,哪里設(shè)置什么,昨天摸索了一天,到晚上12點(diǎn)還沒有弄出來,我頭都弄大了。

          當(dāng)然昨天也有弄好的時(shí)候,可能是由于瞎貓碰到死耗子,關(guān)掉工程在打開就不行了,很是郁悶!今天早上一大早就起床了,繼續(xù)弄,工夫不負(fù)有心人啊,最終還是弄出來啦!

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

          現(xiàn)在和大家分享一下,希望對(duì)你有幫助!

          3.5 到3.3 對(duì)于一般用戶而言 基本沒有什么 界面的上變革 目前看來好像僅僅改變了一些定義所處的文件位置,看起來跟合理些,SD 等的驅(qū)動(dòng)更加穩(wěn)定。我一直很是喜歡STM32的官方固件庫 完好的遵循ANSI 風(fēng)格,代碼編寫嚴(yán)謹(jǐn),還有一點(diǎn)C語言面向?qū)ο蟮母杏X。更重要的是開源,我想這才是能流行起來的原因。

          STM32F103VE 工程交流模板 基于 STM32F10x_StdPeriph_Lib_V3.5.0 [11-March-2011]

          -------------->
          創(chuàng)建一個(gè)工程模板:
          1. 解壓STM32庫文件 然后拷貝
          2. 目錄結(jié)構(gòu):
          Main
          -> stm32f10x_it.c 此三個(gè)文件在同一個(gè)目錄,用戶編寫。
          -> stm32f10x_conf.h
          -> main.c

          _CMSIS
          -> core_cm2.c 匯編接口
          -> system_stm32f10x.c

          _DeviceSupport
          -> 所有的s文件 啟動(dòng)代碼


          Select the corresponding startup file depending of the used device:
          - startup_stm32f10x_ld_vl.s: for STM32 Low density Value line devices
          - startup_stm32f10x_ld.s: for STM32 Low density devices
          - startup_stm32f10x_md_vl.s: for STM32 Medium density Value line devices
          - startup_stm32f10x_md.s: for STM32 Medium density devices
          - startup_stm32f10x_hd.s: for STM32 High density devices
          - startup_stm32f10x_xl.s: for STM32 XL density devices
          - startup_stm32f10x_cl.s: for STM32 Connectivity line devices



          _STM32F10x_StdPeriph_Driver
          -> 所有的c文件 V3.5.0的官方固件


          -------------->
          注意事項(xiàng):
          1. Main.c應(yīng)該放在_CMSIS的前面。且必須有文件stm32f10x_conf.h ,否則就默認(rèn)include了keil的stm32f10x_conf.h文件

          2. 注意inlcude path的順序.

          3. 在Preprocessor Symbols中定義 USE_STDPERIPH_DRIVER,STM32F10X_HD(非常重要哦!)[使用標(biāo)準(zhǔn)外設(shè)庫驅(qū)動(dòng)], 否則編譯出現(xiàn) assert_param 未找到的錯(cuò)誤:

          4. 優(yōu)化等級(jí) 00 表示不優(yōu)化

          5. One elf per function. 只編譯用到的函數(shù).



          拷貝 STM32F10x_StdPeriph_Examples 下每個(gè)目錄的 main.c stm32f10x_conf.h stm32f10x_it.c 到 src 目錄即是一個(gè)范例




          -------------->
          Copy Keil 范例的 stm32_Init.c 到項(xiàng)目中,編譯。
          發(fā)現(xiàn)一個(gè)定義的錯(cuò)誤。是因?yàn)閗eil的頭文件和st庫的3.50的頭文件中定義不一樣
          keil -> st
          USART1_IRQChannel 改為 USART1_IRQn
          USART2_IRQChannel 改為 USART2_IRQn
          USART3_IRQChannel 改為 USART3_IRQn

          編譯通過!



          關(guān)鍵詞: STM32V35固件庫建工

          評(píng)論


          技術(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); })();