版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、(1)GPIO_Mode_AIN 模擬輸入 (2)GPIO_Mode_IN_FLOATING 浮空輸入(3)GPIO_Mode_IPD 下拉輸入(4)GPIO_Mode_IPU 上拉輸入(5)GPIO_Mode_Out_OD 開(kāi)漏輸出(6)GPIO_Mode_Out_PP 推挽輸出(7)GPIO_Mode_AF_OD 復(fù)用開(kāi)漏輸出(8)GPIO_Mode_AF_PP 復(fù)用推挽輸出平時(shí)接觸的最多的也就是推挽輸出、開(kāi)漏輸出、上拉輸入這三種推挽輸出:可以輸出高,低電平,連接數(shù)字器件;開(kāi)漏輸出:輸出端相當(dāng)于三極管的集電極. 要得到高電平狀態(tài)需要上拉電阻才行,一般來(lái)說(shuō),開(kāi)漏是用來(lái)連接不同電平的器件,匹配
2、電平用的,因?yàn)殚_(kāi)漏引腳不連接外部的上拉電阻時(shí),只能輸出低電平。浮空輸入:由于浮空輸入一般多用于外部按鍵輸入,結(jié)合圖上的輸入部分電路,我理解為浮空輸入狀態(tài)下,IO的電平狀態(tài)是不確定的,完全由外部輸入決定,如果在該引腳懸空的情況下,讀取該端口的電平是不確定的。GPIO GPIO_Init函數(shù)初始化GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);/使能GPIOF時(shí)鐘/GPIOF9,F10初始化設(shè)置GPIO_InitStructure.GPIO_Pin = GPIO_Pin
3、_9 | GPIO_Pin_10;/LED0和LED1對(duì)應(yīng)IO口GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;/普通輸出模式GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;/推挽輸出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;/100MHzGPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;/上拉GPIO_Init(GPIOF, &GPIO_InitStructure);/初始化GPIOF9,F102個(gè)讀取輸入電平函
4、數(shù):uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);作用:讀取某個(gè)GPIO的輸入電平。實(shí)際操作的是GPIOx_IDR寄存器。例如:GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_5);/讀取GPIOA.5的輸入電平uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);作用:讀取某組GPIO的輸入電平。實(shí)際操作的是GPIOx_IDR寄存器。例如:GPIO_ReadInputData(GPIOA);/讀取GPIOA組中所有io口輸入電平
5、2個(gè)讀取輸出電平函數(shù):uint8_t GPIO_ReadOutputDataBit (GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);作用:讀取某個(gè)GPIO的輸出電平。實(shí)際操作的是GPIO_ODR寄存器。例如:GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_5);/讀取GPIOA.5的輸出電平uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);作用:讀取某組GPIO的輸出電平。實(shí)際操作的是GPIO_ODR寄存器。例如: GPIO_ReadOutputData(GPIOA);/讀取GPI
6、OA組中所有io口輸出電平4個(gè)設(shè)置輸出電平函數(shù):void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);作用:設(shè)置某個(gè)IO口輸出為高電平(1)。實(shí)際操作BSRRL寄存器void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);作用:設(shè)置某個(gè)IO口輸出為低電平(0)。實(shí)際操作的BSRRH寄存器。void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);void GPIO_Write
7、(GPIO_TypeDef* GPIOx, uint16_t PortVal);后兩個(gè)函數(shù)不常用,也是用來(lái)設(shè)置IO口輸出電平。端口復(fù)用為復(fù)用功能配置過(guò)程-以PA9,PA10配置為串口1為例1、GPIO端口時(shí)鐘使能。RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);2、復(fù)用外設(shè)時(shí)鐘使能。比如你要將端口PA9,PA10復(fù)用為串口,所以要使能串口時(shí)鐘。RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); 3、端口模式配置為復(fù)用功能。 GPIO_Init()函數(shù)。GPIO_InitStructu
8、re.GPIO_Mode = GPIO_Mode_AF;/復(fù)用功能中斷優(yōu)先級(jí)設(shè)置步驟1、系統(tǒng)運(yùn)行后先設(shè)置中斷優(yōu)先級(jí)分組。調(diào)用函數(shù):void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);整個(gè)系統(tǒng)執(zhí)行過(guò)程中,只設(shè)置一次中斷分組。2、針對(duì)每個(gè)中斷,設(shè)置對(duì)應(yīng)的搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí):void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);如果需要掛起/解掛,查看中斷當(dāng)前激活狀態(tài),分別調(diào)用相關(guān)函數(shù)即可。獨(dú)立看門(mén)狗操作步驟1、取消寄存器寫(xiě)保護(hù): IWDG_WriteAccessCmd();2、設(shè)置獨(dú)
9、立看門(mén)狗的預(yù)分頻系數(shù),確定時(shí)鐘: IWDG_SetPrescaler();3、設(shè)置看門(mén)狗重裝載值,確定溢出時(shí)間: IWDG_SetReload();4、使能看門(mén)狗 IWDG_Enable();5、應(yīng)用程序喂狗: IWDG_ReloadCounter();溢出時(shí)間計(jì)算:Tout=(42prer) rlr) /32 (M4)在主函數(shù),要設(shè)置中斷優(yōu)先級(jí)分組NVIC_PriorityGroupConfig();delay_init(168); 配置時(shí)鐘窗口看門(mén)狗配置過(guò)程void WWDG_Init(u8 tr,u8 wr,u32 fprer)1、使能看門(mén)狗時(shí)鐘:RCC_APB1PeriphClockC
10、md();2、設(shè)置分頻系數(shù):WWDG_SetPrescaler();3、設(shè)置上窗口值:WWDG_SetWindowValue();4、開(kāi)啟提前喚醒中斷并分組(可選):WWDG_EnableIT(); NVIC_Init();WWDG_ClearFlag();/清除提前喚醒標(biāo)志位5、使能看門(mén)狗:WWDG_Enable();7、編寫(xiě)中斷服務(wù)函數(shù)WWDG_IRQHandler();1)喂狗:WWDG_SetCounter();2)清除標(biāo)志位WWDG_ClearFlag();在主函數(shù),要設(shè)置中斷優(yōu)先級(jí)分組NVIC_PriorityGroupConfig();delay_init(168); 配置時(shí)鐘外
11、部中斷STM32F4的每個(gè)IO都可以作為外部中斷輸入。STM32F4的中斷控制器支持22個(gè)外部中斷/事件請(qǐng)求EXTI線015:對(duì)應(yīng)外部IO口的輸入中斷。EXTI線16:連接到PVD輸出。EXTI線17:連接到RTC鬧鐘事件。EXTI線18:連接到USB OTG FS喚醒事件。EXTI線19:連接到以太網(wǎng)喚醒事件。EXTI線20:連接到USB OTG HS(在FS中配置)喚醒事件。EXTI線21:連接到RTC入侵和時(shí)間戳事件。EXTI線22:連接到RTC喚醒事件。外部中斷的一般配置步驟:1、使能SYSCFG時(shí)鐘: RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYS
12、CFG, ENABLE);2、初始化IO口為輸入。GPIO_Init();3、設(shè)置IO口與中斷線的映射關(guān)系。void SYSCFG_EXTILineConfig();4、初始化線上中斷,設(shè)置觸發(fā)條件等。EXTI_Init();5、配置中斷分組(NVIC),并使能中斷。NVIC_Init();6、編寫(xiě)中斷服務(wù)函數(shù)。EXTIx_IRQHandler();1)清除中斷標(biāo)志位EXTI_ClearITPendingBit();在主函數(shù),要設(shè)置中斷優(yōu)先級(jí)分組NVIC_PriorityGroupConfig();delay_init(168); 配置時(shí)鐘串口配置的一般步驟1、串口時(shí)鐘使能:RCC_APBxP
13、eriphClockCmd();GPIO時(shí)鐘使能:RCC_AHB1PeriphClockCmd();2、引腳復(fù)用映射:GPIO_PinAFConfig();3、GPIO端口模式設(shè)置:GPIO_Init(); 模式設(shè)置為GPIO_Mode_AF4、串口參數(shù)初始化:USART_Init();5、開(kāi)啟中斷并且初始化NVIC(如果需要開(kāi)啟中斷才需要這個(gè)步驟)NVIC_Init();USART_ITConfig();6、使能串口:USART_Cmd();7、編寫(xiě)中斷處理函數(shù):USARTx_IRQHandler();8、串口數(shù)據(jù)收發(fā):void USART_SendData();/發(fā)送數(shù)據(jù)到串口,DRuin
14、t16_t USART_ReceiveData();/接受數(shù)據(jù),從DR讀取接受到的數(shù)據(jù)9、串口傳輸狀態(tài)獲?。篎lagStatus USART_GetFlagStatus();void USART_ClearITPendingBit();串口中斷服務(wù)函數(shù)不用清除中斷在主函數(shù),要設(shè)置中斷優(yōu)先級(jí)分組NVIC_PriorityGroupConfig();定時(shí)器中斷實(shí)現(xiàn)步驟void Timx_init(u8 arr,psc);1、能定時(shí)器時(shí)鐘。RCC_APB1PeriphClockCmd();2、初始化定時(shí)器,配置ARR,PSC。TIM_TimeBaseInit();TIM_TIConfig();/使能
15、更新中斷3、開(kāi)啟定時(shí)器中斷,配置NVIC。NVIC_Init();4、使能定時(shí)器。TIM_Cmd();5、編寫(xiě)中斷服務(wù)函數(shù)。TIMx_IRQHandler();1)判斷中斷模式TIM_GetTIStatus(TIMx,中斷模式);2)清除標(biāo)志TIM_ClearITPendingBit();在主函數(shù),要設(shè)置中斷優(yōu)先級(jí)分組NVIC_PriorityGroupConfig();delay_init(168); 配置時(shí)鐘PWM輸出配置步驟:void TIM14_PWM_Init(u32 arr,u32 psc);1、使能定時(shí)器14和相關(guān)IO口時(shí)鐘。使能定時(shí)器14時(shí)鐘:RCC_APB1PeriphClo
16、ckCmd();使能GPIOF時(shí)鐘:RCC_AHB1PeriphClockCmd ();2、初始化IO口為復(fù)用功能輸出。函數(shù):GPIO_Init();GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; /復(fù)用功能3、GPIOF9復(fù)用映射到定時(shí)器14GPIO_PinAFConfig(GPIOF,GPIO_PinSource9,GPIO_AF_TIM14); 4、初始化定時(shí)器:ARR,PSC等:TIM_TimeBaseInit();5、初始化輸出比較參數(shù):TIM_OC1Init();6、使能預(yù)裝載寄存器: TIM_OC1PreloadConfig(TIM14,
17、 TIM_OCPreload_Enable); 7、使能自動(dòng)重裝載的預(yù)裝載寄存器允許位TIM_ARRPreloadConfig(TIM14,ENABLE);8、使能定時(shí)器TIM_Cmd(TIM14, ENABLE); / TIM149、不斷改變比較值CCRx,達(dá)到不同的占空比效果:TIM_SetCompare1();在主函數(shù),要設(shè)置中斷優(yōu)先級(jí)分組NVIC_PriorityGroupConfig();delay_init(168); 配置時(shí)鐘輸入捕獲的一般配置步驟:1、初始化定時(shí)器和通道對(duì)應(yīng)IO的時(shí)鐘。2、初始化IO口,模式為復(fù)用:GPIO_Init();GPIO_InitStructure.G
18、PIO_Mode = GPIO_Mode_AF; 3、設(shè)置引腳復(fù)用映射:GPIO_PinAFConfig();4、初始化定時(shí)器ARR,PSCTIM_TimeBaseInit();5、初始化輸入捕獲通道TIM_ICInit();6、如果要開(kāi)啟捕獲中斷,TIM_ITConfig();NVIC_Init();7、使能定時(shí)器:TIM_Cmd();8、編寫(xiě)中斷服務(wù)函數(shù):TIMx_IRQHandler();RTCRTC日歷配置一般步驟1、使能PWR時(shí)鐘:RCC_APB1PeriphClockCmd();2、使能后備寄存器訪問(wèn): PWR_BackupAccessCmd();RCC_LSEConfig(RCC
19、_LSE_ON);/LSE開(kāi)啟3、配置RTC時(shí)鐘源,使能RTC時(shí)鐘:RCC_RTCCLKConfig();RCC_RTCCLKCmd();如果使用LSE,要打開(kāi)LSE:RCC_LSEConfig (RCC_LSE_ON);4、初始化RTC(同步/異步分頻系數(shù)和時(shí)鐘格式):RTC_Init ();5、設(shè)置時(shí)間:RTC_SetTime ();6、置日期:RTC_SetDate();RTC鬧鐘配置一般步驟1、RTC已經(jīng)初始化好相關(guān)參數(shù)。2、關(guān)閉鬧鐘:RTC_AlarmCmd(RTC_Alarm_A,DISABLE); 3、配置鬧鐘參數(shù):RTC_SetAlarm();4、開(kāi)啟鬧鐘:RTC_AlarmCmd(RTC_Alarm_A,EABLE);5、清除標(biāo)志位RTC_ClearITPendingBit(RTC_IT_ALRA); /清除鬧鐘(A)中斷EXTI_ClearITPendingBit(EXTI_Line
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教學(xué)儀器知識(shí)產(chǎn)權(quán)保護(hù)合同
- 全新轎車購(gòu)買合同范本
- 2025年度金融貸款居間風(fēng)險(xiǎn)控制合同
- 全國(guó)授權(quán)合同范本
- 養(yǎng)鵝合同范例
- 切割支撐合同范本
- 業(yè)主和裝修工長(zhǎng)合同范例
- 2025年度花卉市場(chǎng)渠道建設(shè)與拓展合同
- 自愿租賃房屋意向合同范本
- n 1賠償合同范本
- 中國(guó)太陽(yáng)能光電建筑行業(yè)現(xiàn)狀調(diào)研分析及市場(chǎng)前景預(yù)測(cè)報(bào)告(2024版)
- 關(guān)于防范遏制礦山領(lǐng)域重特大生產(chǎn)安全事故的硬措施課件
- 2025年中國(guó)成都餐飲業(yè)市場(chǎng)運(yùn)營(yíng)態(tài)勢(shì)分析及投資前景預(yù)測(cè)報(bào)告
- 2024年榆林職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2025年春新外研版(三起)英語(yǔ)三年級(jí)下冊(cè)課件 Unit3第1課時(shí)startup
- (教研室)2023屆山東省德州市、煙臺(tái)市高考一模地理試題 附答案
- 《河南民俗文化》課件
- 八年級(jí)上冊(cè)英語(yǔ)完形填空、閱讀理解綜合訓(xùn)練100題-含參考答案
- 項(xiàng)目合作備忘錄范文
- 德龍自卸車合格證掃描件(原圖)
- 【紅】四川大學(xué)信紙?zhí)ь^logo
評(píng)論
0/150
提交評(píng)論