新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32運行的必要硬件庫

STM32運行的必要硬件庫

作者: 時間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
0、 實驗之前的準備
a) 接通串口轉(zhuǎn)接器
b) 下載IO與串口的原廠程序,編譯通過保證調(diào)試所需硬件正常。

1、 flash,lib,nvic,rcc和GPIO,基礎(chǔ)程序庫編寫
a) 這幾個庫函數(shù)中有一些函數(shù)是關(guān)于芯片的初始化的,每個程序中必用。為保障程序品質(zhì),初學(xué)階段要求嚴格遵守官方習(xí)慣。注意,官方程序庫例程中有個platform_config.h文件,是專門用來指定同類外設(shè)中第幾號外設(shè)被使用,就是說在main.c里面所有外設(shè)序號用x代替,比如USARTx,程序會到這個頭文件中去查找到底是用那些外設(shè),初學(xué)的時候參考例程別被這個所迷惑住。
b) 全部必用代碼取自庫函數(shù)所帶例程,并增加逐句注釋。
c) 習(xí)慣順序——Lib(debug),RCC(包括Flash優(yōu)化),NVIC,GPIO
d) 必用模塊初始化函數(shù)的定義:
void RCC_Configuration(void); //定義時鐘初始化函數(shù)
void GPIO_Configuration(void); //定義管腳初始化函數(shù)
void NVIC_Configuration(void); //定義中斷管理初始化函數(shù)
void Delay(vu32 nCount); //定義延遲函數(shù)
e) Main中的初始化函數(shù)調(diào)用:
RCC_Configuration(); //時鐘初始化函數(shù)調(diào)用
NVIC_Configuration(); //中斷初始化函數(shù)調(diào)用
GPIO_Configuration(); //管腳初始化函數(shù)調(diào)用
f) Lib注意事項:
屬于Lib的Debug函數(shù)的調(diào)用,應(yīng)該放在main函數(shù)最開始,不要改變其位置。

g) RCC注意事項:
Flash優(yōu)化處理可以不做,但是兩句也不難也不用改參數(shù)……
根據(jù)需要開啟設(shè)備時鐘可以節(jié)省電能
時鐘頻率需要根據(jù)實際情況設(shè)置參數(shù)
h) NVIC注意事項
注意理解占先優(yōu)先級和響應(yīng)優(yōu)先級的分組的概念
i) GPIO注意事項
注意以后的過程中收集不同管腳應(yīng)用對應(yīng)的頻率和模式的設(shè)置。

作為高低電平的I/O,所需設(shè)置:RCC初始化里面打開RCC_APB2
PeriphClockCmd(RCC_APB2Periph_GPIOA);GPIO里面管腳設(shè)定:IO輸出(50MHz,Out_PP);IO輸入(50MHz,IPU);

j) GPIO應(yīng)用
GPIO_WriteBit(GPIOB, GPIO_Pin_2, Bit_RESET);//重置
GPIO_WriteBit(GPIOB, GPIO_Pin_2, (BitAction)0x01);//寫入1
GPIO_WriteBit(GPIOB, GPIO_Pin_2, (BitAction)0x00);//寫入0
GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6) ;//讀入IO
k) 簡單Delay函數(shù)
void Delay(vu32 nCount)//簡單延時函數(shù)
{for(; nCount != 0; nCount--);}


關(guān)鍵詞: STM32硬件

評論


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

關(guān)閉