正式进入STM32的实际开发过程,此系列选用寄存器开发,从最底层操作,通过查看手册配置寄存器来实现对应的功能,整个过程记录下来会显得有些臃肿,全文结构大概是前面部分介绍理论知识,后半部分介绍实操以及代码。笔者尽量做的简洁点,文中如有不足,希望各位提出指正。
认识GPIO
GPIO是什么
首先,我们需要知道GPIO是个什么东西,对于这种问题,咱还是老套路,先问问“C知道”。
感觉说的不够清楚,我们再看看百度百科的回答。
GPIO(英语:General-purpose input/output),通用型之输入输出的简称,功能类似8051的P0—P3,其接脚可以供使用者由程控自由使用,PIN脚依现实考量可作为通用输入(GPI)或通用输出(GPO)或通用输入与输出(GPIO),如当clk generator, chip select等。
既然一个引脚可以用于输入、输出或其他特殊功能,那么一定有寄存器用来选择这些功能。对于输入,一定可以通过读取某个寄存器来确定引脚电位的高低;对于输出,一定可以通过写入某个寄存器来让这个引脚输出高电位或者低电位;对于其他特殊功能,则有另外的寄存器来控制它们。
嗯,看了百度解释,想必学过51系单片机或者其他系单片机的同学已经有了一个大致答案,功能和51的P0-P3类似,做输入、输出或输入输出都做,那他肯定就是和51单片机差不多引脚了吧。
对于没学过其他系单片机的同学可能还是一头雾水,我知道你很懵但你先别懵,我给你个答案,
通俗来讲,GPIO就是STM32上的大部分引脚,就是如下图所示红圈里的大多数。
|