程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 庫函數的使用,庫函數使用

庫函數的使用,庫函數使用

編輯:關於C語言

庫函數的使用,庫函數使用


學了一周多的STM32,從最開始的點亮一盞燈到中斷定時的使用,發現對於ST庫使用的一些使用方法,現作一小結:

 

1、初始化結構體

     a、定義一個xxxInitTypeDef 類型的結構體,比如GPIOInitTypeDef類型的GPIOInitStructure用來配置GPIO;

     b、根據所使用的要求向這些結構體的成員中寫入特定的控制參數,如GPIO_initStructure.GPIO_Pin=GPIO_Pin_13;

     c、將結構體作為輸入參數調用相應的外設庫函數xxxInit(),實現向寄存器寫入控制參數;

 

2、數據的輸入與輸出

     a、先通過輸入參數向函數制定要使用的外設是什麼,比如用(GPIOA,GPIOPin5),選中PA5引腳進行控制;

     b、進行寫或者讀數據操作,例如函數GPIO_WriteBit(GPIOA, u16 GPIO_Pin5, Bit_RESE) ,是對PA5進行寫1操作;

     c、如果是接收外部數據,則調用Read或Receive函數,讀取函數返回值來得到外部輸入數據。

 

3、狀態位、標志位

      在程序運行的過程中當我們需要知道一些外設的工作狀態的時候,那麼就會涉及一系列的標志檢查函數:

      a、名為 PPP_GetFlagStatus的函數,其功能為檢查外設 PPP某標志位被設置與否,例如:TIM_ GetFlagStatus ;

      b、名為 PPP_ClearFlag 的函數,其功能為清除外設 PPP標志位,例如:TIM_ ClearFlag ;

      c、名為 PPP_GetITStatus 的函數,其功能為判斷來自外設 PPP的中斷發生與否,例如:TIM_ GetITStatus ; 

      d、名為 PPP_ClearITPendingBit 的函數,其功能為清除外設 PPP 中斷待處理標志位,例如:TIM_ ClearITPendingBit 。

 

總結:

      ST官方庫有許多共同特點,在此對外設主要的共同函數進行一個簡單的分類總結:

 

函數名 功能 輸入參數 返回值 XXXInit() 對外設進行初始化

XXXinirTypeDef類型結構體

void

XXXDeInit()

以系統默認形式初始化外設 將要進行初始化的外設名 void

XXXStructInit()

以默認的數據填充初始化結構體 將要進行默認填充的XXXInitTypeDef類型結構體 void

XXXSendData()

使用外設發送數據

XXX相應的外設名;將要發送的數據

void

XXXReceiveData()

獲取外設接收到的數據

XXX相應的外設名

返回接收到的數據

XXX_ GetFlagStatus ()

檢測外設事件標志位 要檢查的時間標志名 SET或RESET

XXX_ GetITStatus ()

檢查中斷標志 要檢查的中斷標志名 SET或RESET

XXX_ ClearFlag ()

清除事件標志位 要清除的事件標志名 void

XXX_ ClearITPendingBit ()

清除掛起的中斷標志位 要檢測的中斷標志名 void

XXX_ITConfig ()

設置外設的中斷 XXX相應得外設;選擇開啟外設的某中斷 void

XXX_Cmd ()

使能或失能外設 配置外設名;ENABLE或DISABLE void

XXX_ DMACmd ()

配置外是否可使用DMA請求 配置外設名;選擇要配置的DMA請求;ENABLE或DISABLE void

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved