stm32自学阶段性总结0(GPIO使用)

博主现在是一名大二的学生,最近正在自学stm32单片机(正点原子 战舰版本),搞了大约三天了,对stm32有了初步的认识和了解,对GPIO的输入输出也有了自己的了解与看法,特此整理。

首先学习了GPIO的输入与输出后,本人对C语言中的头文件(。h)和源文件(.c)有了进一步的认识,总结一下:头文件就是用来定义的,包括定义函数名,定义变量,一般格式为:当然 后面可以用到的,我感觉都可以提前在头文件中定义,对于源文件,它实现的就是头文件中所定义的函数写完整,因此,我们在写源文件时必须把其头文件包含进去
1,关于GPIO的输出,博主用的是正点原子的战舰版,对于战舰版,它为我们提供了诸多已经定义好的函数,首先在,对于一般外设,我们都会先建立一个文件夹,在文件夹下建立其对应的头文件和源文件,同时将头文件添加到文件夹下,将路径也添加到对应文件夹下,头文件为了防止重复定义采用: #ifndef…#endif,中间进行变量或函数的定义声明,例如(拿按LED举例:)stm32自学阶段性总结0(GPIO使用)_第1张图片
注::一般在头文件我们都会包含 sys.h,这一文件。

之后我们再去源文件,将我们定义的函数功能写完整,以为要使用stm32的I/o口,首先我们应当先打开对应的时钟,即:(时钟调用函数)RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);
这里要说明对于stm32 I/O口的初始化,其I/O口包含3个属性:1端口设置(配置为那个端口),2模式设置(输入还是输出),3 I/O口速度设置,stm32 为我们提供了初始化I/O口的函数:GPIO-Init(GPIOx,&GPIO_InitStructure),因此我们数显需要去建立一个结构体GPIO_InitStructure,其下包含以上三个属性,属性值可以查阅stm32f10x.h文件来复制粘贴即可,设置完成将I/O口初始化:
stm32自学阶段性总结0(GPIO使用)_第2张图片
当以上工作都完成之后我们便可以在main()函数中将其包含其头文件并调用函数完成I/O口的输出了。

相比于I/O口的输入其流程跟输出基本类似,只要将初始化I/o口的模式更改一下即可,同时,在main()函数写下代码就可以输入了。

备注:初学stm32,文中可能表述不是很规范,如若有错,欢迎大佬提出,不喜勿喷。

你可能感兴趣的:(stm32,阶段性总结)