手把手入門stm32f4 (1)
GPIO
1. 一共有7組IO,每組有16個口 即一共有16*7=112個口。
2.每個口基本上都可以觸發中斷(區別於51,51只有P3^2, P3^2).
3.共有8中輸入輸出模式
(1)浮空輸入——直接進入暫存器,mcu直接讀取。
(2)上拉輸入——如果沒有輸入訊號或者懸空,預設為高。
(3)下拉輸入——如果沒有輸入訊號或者懸空,預設為低。
(4)模擬輸入——在adc採集電壓通道時,不通過施密斯觸發器,不能在輸入暫存器中讀取到值,直接進入到adc模組。
(5)推輓輸出—PMOS管和NMOS管都起作用,輸出為高電平時,NMOS管關閉,PMOS管開啟,輸出為高。輸出為低電平時,NMOS管開啟,PMOS管關閉,輸出為低。
(6)開漏輸出——PMOS管關閉,NMPS管開啟。輸出為低,NMOS管開啟,輸出為低 。輸出為高時,NMOS管關閉,PMOS管關閉,不會輸出,輸出只取決於外部的上拉或者下拉。
(7)推輓複用輸出——輸出訊號來源為其他外設,其他同上。
(8)開漏複用輸出——輸出訊號來源為其他外設,其他同上。
初始化GPIO口流程
GPIO_InitTypeDef LED_GPIO; //gpio結構體
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE); //使能時鐘
LED_GPIO.GPIO_Mode=GPIO_Mode_OUT; //選擇輸出模式
LED_GPIO.GPIO_OType=GPIO_OType_PP; //推輓
LED_GPIO.GPIO_Pin=GPIO_Pin_7; //選擇7口
LED_GPIO.GPIO_PuPd=GPIO_PuPd_UP; //上拉
LED_GPIO.GPIO_Speed=GPIO_Medium_Speed; //中速
GPIO_Init(GPIOE,&LED_GPIO); //gpio口初始化
相關文章
- 手把手入門 Yeoman 模板開發
- Android跨平臺入門:手把手帶你快速入門Flutter!AndroidFlutter
- flask入門1Flask
- 1、MyCat入門
- docker入門1Docker
- 1、dwr入門
- redux——入門1Redux
- 機器學習1—入門機器學習
- JQuery入門(1)jQuery
- 手把手帶你入門 Spring Security!Spring
- 手把手教你AspNetCore WebApi:入門NetCoreWebAPI
- Docker入門(1):概述Docker
- Kafka入門(1):概述Kafka
- (1)入門MasaFramework教程Framework
- 1、Spring入門Spring
- Julia快速入門(1)
- Python(1):入門Python
- 入門1~4:A系列
- 21、jdbc入門1JDBC
- 重構入門(1)
- Vue.js 2.0 手把手入門筆記Vue.js筆記
- 手把手教你SonarQube入門安裝與使用
- 手把手教你Python(從不懂到入門)Python
- Pygame第1-1課:入門GAM
- 1(1)FPGA入門第一關FPGA
- 手把手入門Fish-Redux開發flutter(中)ReduxFlutter
- 手把手入門Fish-Redux開發flutter(下)ReduxFlutter
- 手把手入門Fish-Redux開發flutter(上)ReduxFlutter
- react-query手把手教程①-入門react-queryReact
- 超詳細,手把手教你入門.NET for LinuxLinux
- Docker 入門(Mac環境)-part 1 入門基本操作DockerMac
- React入門-1.helloworldReact
- redis系列1-入門Redis
- Elasticsearch(1):基礎入門Elasticsearch
- CTF入門記錄(1
- Android新手入門1Android
- GreenDAO系列之(1)入門
- 入門1~4:B系列