STM32F4第二课:GPIO

 

 

  1. 1.     I/O管脚多路复用转换器和映射

I/O管脚通过一个multiplexer连接到板载外设/模块。同一时间每个I/O管脚仅允许一个外设的复用功能(AF)连接。这样,占用相同管脚的不同外设就不会起冲突。每个I/O管脚有16个(AF0-AF15)复用功能输入。

         ·复位以后,所有I/O管脚的复用功能设置为AF0;(复用功能需要开启?)

         ·外设的复用功能为AF1-AF13

         ·EVENTOUT为AF15

1.1System function

 

 

注意:失能一些jtag功能,能够节省管脚占用哦

 

 

 

所以,以后设置PCB的时候,就用SW调试接口了···

 

1.2GPIO

1.3外设复用功能

ADC and DAC:GPIOx_MODER  I/O mode 选择为analog

其他外设:①GPIOx_MODER 选择为 AF

          ②分别设置GPIOx_OTYPER, GPIOx_PUPDR 和GPIOx_OSPEEDER

                        ③通过GPIOx_AFRL or GPIOx_AFRH选择对应的AFx

 

 

1.4事件驱动()

:具体的 pin mapping 详见datasheetAlternate function mapping

 

 

2.GPIO的寄存器简要描述

Stm32f4 Reference manual(RM0090)

 
   


4个配置寄存器

      

GPIOx_MODER:设置管脚为input, output, AF, analog四种模式

       GPIOx_OTYPER:  设置管脚为开漏(open-drain)或推挽(pull-push)

关于推挽与开漏参看:http://www.cnblogs.com/kalo1111/articles/3309969.html

       GPIOx_OSPEEDR:设置管脚的speed。

       GPIOx_PUPDR:选择上拉 or 下拉

 

2个数据寄存器,

       2个16到31位都是保留的,

       GPIOx_IDR:只读的设置pin为 input

       GPIOx_ODR:设置pin 为output。实现原子操作

1个位控制寄存器

       GPIOx_BSRR:实现原子级位控制,写0无效!0-15写1置1;16-31写1置0

1个锁定寄存器

      

      

2个复用功能选择寄存器

 

 

3.一些

Stm32f4: Each I/O port bit is freely programmable, however the I/O port registers have to be accessed as 32-bit words, half-words or bytes.

Stm32f1: 每个I/O端口位可以自由编程,然而必须按照32位字访问I/O端口寄存器(不允许半字或字节访问)。

posted on 2013-09-09 16:20  イケメンおっさん_汪汪  阅读(697)  评论(0)    收藏  举报

导航