Bootstrap

STM32学习 3:GPIO管脚配置与第一个STM32实验:LED灯闪烁

  鄙人是在淘宝购置了一套STM32开发板,跟着随带的光盘学习起来的。碰到不懂的就在CSDN上浏览学习高手的博客,大神们不仅技术很好还乐于分享,蒙其惠泽,未感忘恩,所以自己开始写博客慢慢积累。
  如果您是初学者,看到该系列文章后有所帮助,鄙人深感荣幸。如果您是大神,请您指出不足指出。如果没人看到,权当积累与记录了。
  鄙人使用普中科技公司的开发板,在淘宝可以找到。芯片是STM32F103ZET6,固件库是V3.5,编译环境是Keil uVision4。

  转载请注明完整出处。


1,GPIO管脚简介与配置

1.1GPIO框图

  GOIO管脚是用来与外设进行信号传输的,所以和时钟一样,属于基本配置。下面是STM32的GPIO框图。

  除了右边的二极管和I/O端口,其余左边的部分都是在芯片里面的,也就是开发板最中央的那个小处理器方块里面。

1.2GPIO不同模式

  总的输入输出模式可以分为以下几种:

输入模式:

  • 输入浮空
  • 输入上拉
  • 输入下拉
  • 模拟输入

输出模式:

  • 开漏输出
  • 开漏复用功能
  • 推挽式输出
  • 推挽式复用功能

  下面结合框图详细介绍不同的输入输出模式。

输入浮空

  图示的蓝框和红框及其左边部分都是在芯片里面。电流从I/O端口进入后经过施密特触发器会变成数字信号保存在输入数据寄存器里面。芯片内部读取输入数据寄存器就知道I/O口输入了什么数据。I/O口高电平输入1,低电平输入0。

输入上拉

  相比于输入浮空,可以看到输入上拉在1和2之间多连接了一个上拉电阻。当I/O口没有输入的时候由于上拉电阻接VDD,故而相当于I/O是高电压,只有当I/O是低电压的时候才会输入0,也就是说I/O口常1。

输入下拉

  类比输入上拉,输入下拉是常0,只有当输入高电压的时候才会读取到1。

模拟输入

  模拟输入信号虽然进入了芯片但是芯片并不能直接将其转化为数字信号,而是送入了片上的外设模块,然后经过A/D转换才变为数字信号读入。

开漏输出

  从图中可以看到输出到I/O口之后,还要从输入电路读取输出数据,作为反馈。3处,由于只连接了N-MOS管,所以平时输出低电平,在外设处加上拉电阻可以输出高电平,上拉电阻决定功耗和速度,可以方便实现线与。

开漏复用功能

  复用功能可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用),可以在核心板原理图里面看到每一个GPIO口旁边都有一个/符号,表示复用其他功能。

推挽式输出

  推挽式输出由于3处有两个MOS管故可以输出0可以输出1。

推挽式复用功能
;