




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、STM32中斷程序6/* 名稱:main.c* 功能:* 入口參數(shù):* 說明:去掉stm32f10x_conf.h M#include "stm32f10x_tim.h"注釋* 范例:* 編者 時間:Ye.FuYao 2012-9-23*/*=#include "stm32f10x.h" #include "12864.h"ErrorStatus HSEStartUpStatus; /等待時鐘的穩(wěn)定u8 count=0;u8 d;void SYS_Configuration(void);/*/ms延時函數(shù)void delayms(un
2、signed int nValue) /delay 1ms at 8M unsigned int nCount;unsigned int ii;unsigned int jj;nCount = 1980;for(ii = nValue;ii > 0;ii-) for(jj = nCount;jj > 0;jj-) Delay(1); */GPIO管腳初始化配置 void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;/GPIO狀態(tài)恢復(fù)默認參數(shù)/*GPIO 口配置每四行一組,每組GPIO屬性相同,默認情況:AL
3、L, 2MHZ FLATING*/*PA-2-3配置為輸出*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_7; /管腳位置定義GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/ 設(shè)置輸出模式GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; / 輸出速度為 50MHZGPIO_Init(GPIOA, &GPIO_InitStructure);/A 組 GPIO初始化/*PB-2配置為輸出*/GPIO_InitStr
4、ucture.GPIO_Pin = GPIO_Pin_2; /GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;管腳位置定義/設(shè)置輸出模式GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /輸出速度為50MHZGPIO_Init(GPIOB, &GPIO_InitStructure);/B 組GPIO初始化/*PA-0配置為輸入GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_I
5、N_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);外部中斷引腳*/*名稱:NVIC_Configuration()*功能:外部中斷嵌套控制*入口參數(shù):*說明:放入主函數(shù)里初始化*范例:*編者時間:Ye.FuYao 2012-9-23*=void NVIC_Con巾guration(void)/NVIC_InitTypeDef NVIC_InitStructure;/=*/嵌套中斷向量控制配置定義數(shù)據(jù)結(jié)構(gòu)的變量/ 選擇優(yōu)先組NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); /0組,全副優(yōu)先級NV
6、IC_InitStructure.NVIC_IRQChannel=EXTI0_IRQn; /NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; /NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; /NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; /NVIC_Init(&NVIC_InitStructure);/選擇中斷通道,庫 P166頁, 搶占優(yōu)先級0響應(yīng)優(yōu)先級0啟動此通道的中斷結(jié)構(gòu)體初始化=*/ 中斷初始化(外部設(shè)備中斷)定義數(shù)據(jù)結(jié)
7、構(gòu)的變量管腳選擇將以上入口放在EXTI_Line0中斷模式選擇上升或下降沿觸發(fā)開中斷將結(jié)構(gòu)體初始化這條線上/*名稱:EXTI_Configuration()*功能:外部設(shè)備中斷初始化*入口參數(shù):*說明:放入主函數(shù)里初始化*范例:*編者時間:Ye.FuYao 2012-9-23*=void EXTI_Configuration(void)/(EXTI_InitTypeDef EXTI_InitStructure;/GPIO_EXTILineCon巾g(GPIO_PortSourceGPIOA, GPIO_PinSource0); / GPIO_EXTILineConfig(GPIO_PortSo
8、urceGPIOA, GPIO_PinSource4);EXTI_InitStructure.EXTI_Line=EXTI_Line0;/(stm32有18條這樣的線路)EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt; /EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling; /EXTI_InitStructure.EXTI_LineCmd=ENABLE;/EXTI_Init(&EXTI_InitStructure);/ /*=*名稱:Timer_Config();*功能:定時器中斷初
9、始化*入口參數(shù):*說明:放入主函數(shù)里初始化*范例:*編者時間:Ye.FuYao 2012-9-23*/void Timer_Config(void)(TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;/ 定義 TIM 結(jié)構(gòu)體變量RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); / 使能 TIM2 外設(shè)TIM_DeInit(TIM2);/復(fù)位時鐘TIM2,恢復(fù)到初始狀態(tài)TIM_TimeBaseStructure.TIM_Period=17999;/35999 和1999 剛好1sTIM_TimeBas
10、eStructure.TIM_Prescaler=1999;TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;/TIM2 時鐘分頻TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;/ 計數(shù)方式/定時時間T計算公式:/ T=(TIM_Period+1)*(TIM_Prescaler+1)/TIMxCLK=(35999+1)*(1999+1)/72MHz=1sTIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);/ 初始化TIM_Cl
11、earFlag(TIM2,TIM_FLAG_Update);/ 清除標(biāo)志/ 中斷方式下,使能中斷源TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);/使能中斷源TIM_Cmd(TIM2,ENABLE);/使能TIM2)/*=*名稱:NVIC_Config();*功能:定時器嵌套控制*入口參數(shù):*說明:放入主函數(shù)里初始化*范例:*編者時間:Ye.FuYao 2012-9-23*=void NVIC_Config(void)/定時器嵌套向量控制器(NVIC_InitTypeDef NVIC_InitStructure;/定義結(jié)構(gòu)體變量/設(shè)置優(yōu)先分級組NVIC_Prio
12、rityGroupConfig(NVIC_PriorityGroup_0); /0組,全副優(yōu)先級NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn; /選擇中斷通道,庫 P166頁,/ 選擇中斷通道。注意:固件庫中為XXX_IRQChannel,但該程序預(yù)定義為 XXX_IRQn所以要特別注意NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; /搶占優(yōu)先級 0NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; /NVIC_InitStructure.N
13、VIC_IRQChannelCmd=ENABLE; /NVIC_Init(&NVIC_InitStructure);/響應(yīng)優(yōu)先級0 啟動此通道的中斷 結(jié)構(gòu)體初始化SYS_Configuration(); /時鐘配置(使用外部8MHz晶振)GPIO_Configuration();NVIC_Configuration();/EXTI_Configuration();Timer_Config();NVIC_Config();/ LCDPort_Init();/PC10/ LCD_Init();/LCD12864/ _int();while (1)(/ 關(guān) LEDGPIO_SetBits(G
14、PIOA,GPIO_Pin_2);GPIO_SetBits(GPIOA,GPIO_Pin_3);GPIO_SetBits(GPIOB,GPIO_Pin_2);/GPIO管腳初始化配置外部中斷嵌套控制/外部設(shè)備中斷初始化/定時器中斷初始化/定時器嵌套控制是 CS/PC11 是 SCLK/PC12 是 SID初始化) int main(void) (以下程序都在stm32f103x_it.c 文件里 /*= *名稱:void PPP_IRQHandler(void)* 功能:中斷服務(wù)函數(shù)* 入口 參數(shù): * 說明:PPP可以再"startup_stm32f10xhd.S”文件里找* 范例
15、:void PPP_IRQHandler(void)* 編者時間:Ye.FuYao 2012-9-23*= void EXTI0_IRQHandler(void)/EXTI0 中斷服務(wù)函數(shù) int i; if(EXTI_GetITStatus(EXTI_Line0) != RESET)/ 判斷中斷發(fā)生線 / 翻轉(zhuǎn)I/O 口 GPIO_WriteBit(GPIOA, GPIO_Pin_3, (BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_3);for(i=0;i<=800000;i+)/ 延時一會,不然看不到燈亮,不信可以試試EXTI_ClearITPendingBit(EXTI_Line0); /清除中斷標(biāo)志 /*= *名稱:void PPP_IRQHandler(void)* 功能:中斷服務(wù)函數(shù)* 入口 參數(shù): * 說明:PPP可以再"startup_stm32f10xhd.S”文件里找* 范例:void PPP_IRQHandler(void)* 編者時間:Ye.FuYao 2012-9-23*= void TIM2_IRQHandler(void)/TIM2中斷服
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具維修服務(wù)滿意度調(diào)查與改進措施實施考核試卷
- 增材制造裝備在生物醫(yī)學(xué)工程中的應(yīng)用考核試卷
- 受助人員住宿援助的跨部門協(xié)作考核試卷
- 社交網(wǎng)絡(luò)與職業(yè)機會如何利用社交平臺助力職場晉升
- 科技產(chǎn)品的市場推廣與匯報表達策略
- 物流設(shè)備中緊固件的快速更換與定期保養(yǎng)
- 頁巖油開發(fā)企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 采礦采石企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 高效節(jié)能熱力工程勘察服務(wù)企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 金屬制品企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 幼兒園大班閱讀《你是我最好的朋友》微課件
- 人教版八年級美術(shù)下冊全冊完整課件
- 二孩同校政策申請書
- 裝卸搬運作業(yè)的合理化課件
- 病情痊愈證明
- 管理制度執(zhí)行檢查記錄表
- 浙江寧波慈溪市市場監(jiān)督管理局招考聘用編外工作人員3人筆試題庫含答案詳解
- 教科版六年級科學(xué)下冊全冊教案
- 220kV升壓站工程施工組織設(shè)計
- 6G網(wǎng)絡(luò)架構(gòu)展望白皮書(2023.2)-32正式版
- 車床操作作業(yè)指導(dǎo)書
評論
0/150
提交評論