GPIO 就是非常通用的 我们 IO 口 那我这里的话就不详述 就说一下一些特别的 就我们的 IO 口 我们有一个输入滤波 可以对你们的一些输入的一些 IO 信号 进行简单的一个滤样 像这个就比如这个是你们的一些信号 我的有一个内部其实有个输入滤波的 这个有些时候有一些 我们的一些工程师 如果没有注意到这个功能的话 你们也许还要在外面 再加一个一些电路之类的 那有了这个东西之后 我其实就可以省掉一些空间 那他这里面的这个数字滤波的话 就是说他专门来滤掉一些毛刺的 那它可以简单做一些配置之后 我就可以就说我采样到这个信号 我必须是让这个引脚 你配置之后这个引脚会连续的去采 比如我连续采三次之后 这个IO的一个信号 如果都是高电平 那我才会认为它是高电平的 或者是低电平 反之亦然 所以这样子的话往往会滤掉一些尖峰毛刺 这就是它的一个输入滤波的一个功能 那我们再来认识一下 GPIO 它的内部的一个架构到底是怎么样 这就是他的一个内部的一个框图 首先这个是伸到外面的一个脚 那它内部是有一个 我们的芯片内部是有一个上拉电阻的 默认这个上拉电阻 大部分引脚都是默认使能的 所以你去测那个引脚的时候 往往有些时候会测到是高电平 那除了一个 PWM 引脚 就0到11的这几个引脚 它是不使能的 就是一个高阻抗高阻态的一个形式 因为他要保证不能同时为高 这样子就把你给炸掉了 然后再经过刚才的讲的一个输入滤波模块 那就是到这个点 这个点之后 它就可以直接的连接到我的一个 IO的一个数据寄存器 那在这里的话我就可以 随时随地的去看到我的一个GPIO的一个状态 无论你这个GPIO是做GPIO也好 我是做外设也好 你什么时候都可以看 那往这边往上边的话就是说 它的一个输出功能的一个配置 或者是说它的一个外设功能的一个配置 那我可以把它配置成我的一个 IO 口输出 或我的三种外设功能之一 比如我的 PWM 功能 我的串口功能 我的 QEP 功能等等 这就是它的一个内部GPIO的一个框图