stm32f407VG gpio详解
来源:互联网 发布:二维码生成软件 编辑:程序博客网 时间:2024/05/20 18:46
stm32f407VG 这款单片机上共有PA‐PE 共5×16 共80 个复用IO 口,每个通用I / O 端口有4个32 位配置寄存器(GPIOx_MODER ,GPIOx_OTYPER,GPIOx_OSPEEDR,GPIOx_PUPDR),2个32 位数据寄存器(GPIOx_IDR 和GPIOx_ODR),一个32 位的置位/复位寄存器(GPIOx_BSRR),32位锁定寄存器(GPIOx_LCKR)和两个32 位的备用功能选择寄存器(GPIOx_AFRH,GPIOx_AFRL)。
4 个32配置寄存器
GPIOx_MODER:(输入输出模式选择)
原文(select the I/Odirection(input,output,AF,analog).)
功能
Input: 输入模式
output:输出模式
AF : 备用功能模式
analog:模拟模式
GPIOx_OTYPER (gpio输出类型)
原文pushpull or open-drain
GPIO_OType_PP = 0x00, 推完输出
GPIO_OType_OD = 0x01 开漏输出
GPIOx_OSPEEDR:(输出速度寄存器)
原文
The I/O speed pins are directlyconnected to the
corresponding GPIOx_OSPEEDR register bits whatever theI/O direction
GPIO_Speed_2MHz 选择Io输出频率
GPIO_Speed_25MHz
GPIO_Speed_50MHz
GPIO_Speed_100MHz
注:如果输出速度>=50M,开启补偿单元
GPIOx_PUPDR:(上拉下拉寄存器)
原文功能
used to select the pull-up/pull-down whatever the I/Odirection
GPIO_PuPd_NOPULL= 0x00, 不拉
GPIO_PuPd_UP = 0x01, 上拉
GPIO_PuPd_DOWN = 0x02 下拉
2个32 位数据寄存器
I/O port data registers
原文
GPIOx_ODR stores the data to be output, it is read/write
accessible. The data inputthrough the I/O are stored into the input data register
GPIOx_ODR 输出数据寄存器
该寄存器只可以读取和写入
(GPIOx_IDR), a read-only register.
GPIOx_IDR 输入数据寄存器
该寄存器只可以读取可以位读取,包含相应i/o端口的值
GPIOx_BSRR 32位寄存器
BSRRL低16位寄存器给其赋值1置位给相应的 GPIOx_ODR 置1
BSRRH低16位寄存器给其赋值1置位给相应的 GPIOx_ODR 置0
原文
When written to 1, bit BSRR(i) 【BSRRL】setsthe correspondingODR(i) bit. When
written to 1, bit BSRR(i+SIZE)【BSRRH】 resets the ODR(i)corresponding bit.
GPIOx_LCKR 32位锁定寄存器
GPIOx_LCKR 备用锁定寄存器
GPIO设置步骤:
1. 使能相关时钟
2. 设置相应的 IO 口为输入或输出
3. 设置输入\输出的类型
4. 设置输出的速度(如果设置为输入,此步跳过)
5. 如果输出速度>=50M,开启补偿单元
6. 设置上拉下拉寄存器
7. 通过复位置位寄存器和输入输出数据寄存器进行操作。
- stm32f407VG gpio详解
- STM32F407VG+CC1200
- linux gpio详解
- linux GPIO驱动详解
- GPIO输入输出模式详解
- ZedBoard之GPIO详解
- 树莓派---GPIO应用详解
- MIO EMIO GPIO详解
- STM32F407VG IO位操作
- STM32F407VG IO位操作
- STM32F407VG (三)ADC
- STM32F407VG (四)时钟配置
- STM32F407VG (五)定时器
- 详解TCC89x的GPIO寄存器
- GPIO驱动分析&结构详解
- STM32 GPIO输入输出方式详解
- LPC2478的GPIO使用详解
- 详解tcc8935的GPIO寄存器
- ubuntu12.04->mini2440移植内核模块
- 【LeetCode题解】Search Insert Position
- GTK常用接口——绘图
- 将Ogre写入MFC框架中
- #R#R语言-常用一些函数杂记
- stm32f407VG gpio详解
- gdb调试命令
- stack溢出 ** stack smashing detected ***: ./a.out terminated
- 手工建库
- container_of宏分析
- 云存储-创业
- android jni调用
- 802.11部分缩略词全名
- vxworks源码剖析- 数据结构篇一