中斷程序的解釋

中斷程序的解釋

ID:22524649

大小:226.12 KB

頁(yè)數(shù):16頁(yè)

時(shí)間:2018-10-29

中斷程序的解釋_第1頁(yè)
中斷程序的解釋_第2頁(yè)
中斷程序的解釋_第3頁(yè)
中斷程序的解釋_第4頁(yè)
中斷程序的解釋_第5頁(yè)
資源描述:

《中斷程序的解釋》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、關(guān)于V2.0版本一在main函數(shù)中的定義intmain(void){Disablelntenupt;//關(guān)閉CPU總中斷RCC_Configuration();GPIO_Configuration();EXTI_Configuration();NVIC_Configuration();Enablelnterrupt;//打開(kāi)總中斷while(l){}}注意以下問(wèn)題:(1)頭文件部分寫(xiě)的是#include"main.h"在main.h中定義了#ifndef_MAIN_H#define_MAIN_H^include"myfun.hu#endif以上關(guān)于_1^人1~

2、_11的宏定義,是為了防止多個(gè)重名頭文件存在。在”myfun.h”對(duì)應(yīng)myfun.c文件里面定義了include,,stm32fl0x_conf.hn#include"cortexm3_macro.hn///控制的是PD2#include"stm32fl0x_lib.h"#defineLED1_ONGFIO_ResetBits(GFIOD,GPIO_Pin_2)#defineLED1_OFFGP10_SetBits(GPI0D,GPIO_Pin_2)#defineDisablelnterrupt_SETPRIMASK()#defineEnablelnterru

3、pt_RESETPRIMASK()voidDelayMs(vu32nms);voidDelayUs(vu32nus);#endif其巾,LEDI_ON和LED1_OFF對(duì)應(yīng)于一個(gè)GP1O的位操作。對(duì)應(yīng)書(shū)上P101頁(yè)的函數(shù)定義兩個(gè)延遲函數(shù),放在了myfun.c。很好理解。延遲函數(shù)是自己做的。然而在myfun.h中還是做了很多定義。GPIO用到的頭文件。(2)關(guān)于時(shí)鐘的初始化配置voidRCC_Configuration(void);閃容voidRCC_Configuration(void){ErrorStatusHSEStartUpStatus;///HSE起振

4、狀態(tài)0表示出錯(cuò),其他的表示成果SUCCESSRCC_DeInit();RCC_HSEConfig(RCC_HSE_ON);HSEStartUpStatus=RCC_WaitForHSEStartUp();///若選擇HSE做系統(tǒng)吋鐘:先調(diào)用RCC_HSEConfig()使能HSE,后調(diào)用//RCC_WaitForHSEStartUp()函數(shù)等待HSE起震,最后調(diào)用RCC_GetFlagStatus()函數(shù)獲収HSE//晶振狀態(tài)if(HSEStartUpStatus==SUCCESS){FLASH_PrefetchBufferCmd(FLASH_Prefetch

5、Buffer_Enable);//使能Flash半周期訪(fǎng)問(wèn)FLASH_SetLatency(FLASH_Latency_2);//設(shè)置FLASH存儲(chǔ)器延時(shí)周期數(shù)RCC_HCLKConfig(RCC_SYSCLK_Divl);//設(shè)置AHB時(shí)鐘RCC_PCLK2Config(RCC_HCLK_Divl);//設(shè)置APB2時(shí)鐘RCC_PCLKlConfig(RCC_HCLK_Div2);//設(shè)罝APB1時(shí)鐘RCC_PLLConfig(RCC_PLLSource_HSE_Divl,RCC_PLLMul_9);//設(shè)置鎖相環(huán)的倍頻RCC_PLLCmd(ENABLE);

6、//使能鎖相環(huán)while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)//等待PLL就緒{}RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//設(shè)置系統(tǒng)時(shí)鐘為PLL吋鐘while(RCC_GetSYSCLKSource()!=0x08)//確認(rèn)系統(tǒng)時(shí)鐘是否為PLL時(shí)鐘{}}}其中,ErrorStatus在stm32fl0x_type.h中定義typedefenum{ERROR=0,SUCCESS=!ERROR}ErrorStatus;RCC_DeInit();//在stm32fl0x_

7、rcc.c中定義。表示復(fù)位RCC時(shí)鐘到默認(rèn)的配置。voidRCC一Delnit(void){/*SetHSIONbit*/RCC-〉CR

8、=(u32)0x00000001;/*ResetSW[l:0],HPRE[3:0],PPRE1[2:O],PPRE2[2:0],ADCPRE[l:0]andMCO[2:0]bits*/RCC-〉CFGR&=(u32)0xF8FF0000;/*ResetHSEON,CSSONandPLLONbits*/RCC->CR&=(u32)0xFEF6FFFF;/*ResetHSEBYPbit*/RCC->CR&=(u32)0xFFFB

9、FFFF;/*ResetPLLSRC,

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。