今天突发奇想,想通过杜邦线控制LED灯(也就是不直接对LED的端口进行控制,而是控制其他端口,然后用杜邦线把两个端口连接起来)。我首先是这么做的,使能PB PE端口,然后设置PB5(连接LED0)为通用推挽输出,而PE5(连接LED1)不做任何设置,它的默认状态就是浮空输入。然后在main函数中控制PB5端口不断变换,致使LED0规律的闪烁,然后用一根杜邦线把PB5 和 PE5连接起来,就会发现LED1会和LED0同步闪烁,原因就是因为PB5是作为输出,而PE5作为输入,所以将PB5 和 PE5连接的时候就会将PB5的信号输入到PE5,PE5收到和PB5相同的信号就会导致LED1和LED0同步闪烁,这没什么问题,可是当我想把PB5设置为浮空输入,而设置PB4为通用推挽输出,然后连接PB4 PB5达到控制LED0的效果的时候居然发现不行,我一度以为是板子的问题,最后通过交流群中高人指点才知道原因,原来PB4是特殊引脚,想要使用就要释放引脚,那么问题来了
- 什么引脚是特殊引脚?我如何知道
- 释放引脚该怎么释放呢?
首先解答第一个问题,怎么知道一个引脚是不是特殊引脚。答案是通过数据手册查看,每块芯片都有对应的数据手册,例如我的就是F103大容量数据手册,这个手册一般是全英文的,但是不要慌,我们要看的东西与英语水平无关。
打开数据手册,然后找到 pinouts and pin descriptions这一章,刚开始是类似下面的图片