久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2231|回復: 0
收起左側

關于STM32 MDK中USE_STDPERIPH_DRIVER問題

[復制鏈接]
ID:104126 發表于 2016-1-23 02:33 | 顯示全部樓層 |閱讀模式
初學STM32,在RealView MDK 環境中使用STM32固件庫建立工程時,初學者可能會遇到編譯不通過的問題。出現如下警告或錯誤提示:
  warning: #223-D: function "assert_param" declared implicitly;assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  這時候我們需要在“Target Options”中的“C/C++”選項卡中添加USE_STDPERIPH_DRIVER、STM32F10X_HD。這樣才能使編順利通過。
  知其然了,我們還得知其所以然。下面就一一道來。我們知道,程序的執行是從“main.c”文件開始的,其中必須包含有頭文件“stm32f10x.h”。我們打開“stm32f10x.h”,按下“Ctrl+F”鍵,查找USE_STDPERIPH_DRIVER,在“Find What”欄中輸入“USE_STDPERIPH_DRIVER”。點擊“Find Next”,出現“USE_STDPERIPH_DRIVER”對應的代碼行,重復上邊操作三次,第三次的時候我們能在第8296-8298行找到
  #ifdef USE_STDPERIPH_DRIVER
    #include "stm32f10x_conf.h"
  #endif
  這段代碼的意思是,只有用預編譯指令預定義了“USE_STDPERIPH_DRIVER”,才會將"stm32f10x_conf.h"包含進“stm32f10x.h”中,從而被"main.c"用到。這就解釋了,為什么我們沒有在“main.c”中包含"stm32f10x_conf.h",而在編譯之后卻被包含進了"main.c"中。"stm32f10x_conf.h"文件相當于一個開關文件,如果要用到STM32固件庫驅動標準外設,則外設驅動頭文件是必不可少的,如“stm32f10x_gpio.h”。在"stm32f10x_conf.h"中我們通過代碼
  #include "stm32f10x_gpio.h"
  來實現這個操作。
  說到這兒估計大家已經對“USE_STDPERIPH_DRIVER”的來龍去脈有個清晰的認識了吧?其實單從字面意思理解就是“使用標準外設驅動”,在C/C++預定義中加入“USE_STDPERIPH_DRIVER”就是允許“使用標準外設驅動”了。至于加入的“STM32F10X_HD“同樣能在文件”stm32f10x.h“通過如上所述的方法通過功能查找來進行解釋,其實它也是對于對應硬件的某些定義起開關作用罷了。
  另外需要注意的是,在使用不同版本庫的時候,因為有所不同(當然包括MDK自帶的庫),所以我們需要在包含的時候一定要注意選對路徑,免得不同版本之間的一些定義由于所處的文件不同而產生沖突。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色av免费在线观看 | 可以免费看av的网站 | 我要看一级黄色片 | 国产区av| 天天干天天舔 | 91精品国产99久久久久久红楼 | 秋霞午夜鲁丝一区二区老狼 | 国产精品一品二区三区的使用体验 | 成人午夜又粗又硬又大 | 天堂在线免费观看 | 国产精品自拍一区 | 少妇搡bbbb搡bbb搡毛茸茸 | 性大毛片视频 | 一区二区免费在线观看 | 九九九热| 久久久久久97 | 日韩成人精品一区二区 | 亚洲视频网| 日本一区二区三区精品 | 欧美伊人久久 | 国产天堂av | 亚洲高清免费 | 在线少妇 | 日韩在线免费播放 | 999毛片 | 久久精品一区二区三区四区 | 色婷婷免费视频 | 中文字幕在线一区 | 黄色小视频在线观看 | 亚洲免费网站 | 国产一区二区三区视频在线 | www黄色| 毛片在线观看网站 | 天天狠狠| 狠狠干婷婷| 欧美另类综合 | 四虎影视最新网址 | 欧美日韩小视频 | 欧美日韩综合网 | 高清视频一区二区 | 久久精品福利视频 |