美文网首页我爱编程
STM32番外(一)

STM32番外(一)

作者: GeekShow | 来源:发表于2017-09-02 22:00 被阅读59次

为什么要新增这个所谓番外呢?
是因为今天在做尝试做库的情况下又重新复习了一遍标准外设的配置操作,发现身为非科班的我确实在基础方面的不牢固,所以为了增加我的学习效率,特开此STM32番外篇来分门别类根据STM32标准库AI手册来讲解不同外设的配置和操作。
好了不水了,今天来讲一下stm32的GPIO的操作与配置。首先先看一下GPIO的寄存器结构


GPIO寄存器

至于什么是AFIO,本着实事求是的精神先忽略一下这个,我们只知道它涉及到IO复用部分,所以可以暂且搁置,毕竟目前我们不缺IO用/(ㄒoㄒ)/~~


GPIO寄存器
至于寄存器操作IO的部分,我会在接下来的几天里接触寄存器操作所以这里仅仅当作展示。 GPIO操作库函数

首先介绍一下
GPIO_DeInit();GPIO_AFIODeInit ();GPIO_StructInit() ;
这三个函数分别会将缺省值配置为IO进行基本配置,我们理解为默认模式。
GPIO_Init();用于初始化GPIO寄存器包含四个队GPIO的基本设置值分别为
GPIO_Pin,GPIO_Mode,GPIO_Speed,
其中GPIO_Pin是设置相应的管脚,
Mode为设置相应的管脚工作状态:
G PIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD 下拉输入
GPIO_Mode_IPU 上拉输入
GPIO_Mode_Out_OD 开漏输出
GPIO_Mode_Out_PP 推挽输出
GPIO_Mode_AF_OD 复用开漏输出
GPIO_Mode_AF_PP 复用推挽输出

Speed是设置选中国管脚的速率,分别有三个选项:
GPIO_Speed_10MHz 最高输出速率 10MHz
GPIO_Speed_2MHz 最高输出速率 2MHz
GPIO_Speed_50MHz 最高输出速率 50MHz

对GPIO的基本操作要通过一个结构体GPIO_InitTypeDef完成操作
完整的管脚定义为:
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
这里就定义了A10管脚为浮空输入,扫描速率为10Mhz
特别要注意的是在实际操作中除了对管脚的声明配置外还要设置管脚的时钟,没有时钟设置的管脚是不能正常工作的,这里要特别注意!!!
函数 GPIO_ReadOutputDataBit
GPIO_ReadOutputData
GPIO_ReadInputDataBit
GPIO_ReadInputDat
这四个函数为读输入/输出的GPIO数据。因为这个单片机中管脚通常为数字管脚,所以一个管脚的值通常为0/1.读bit就是读一位GPIO的Pin值而Data为读若干个GPIO的输出输入数据,要便于区分读Date和读DataBit的区别。
实例:
u16 ReadValue;
ReadValue = GPIO_ReadInputData(GPIOC);

相关文章

  • STM32番外(一)

    为什么要新增这个所谓番外呢?是因为今天在做尝试做库的情况下又重新复习了一遍标准外设的配置操作,发现身为非科班的我确...

  • 番外(一)

    更新的这么快你们是不是很感动!是不是很开心! 先不要着急开心…………正如标题一样,本期是番外篇。由于某些不可抗力的...

  • 番外一

    莱戈拉斯和瑟兰迪尔大包小包地从商店出来,准备回家跨年。半路上下起了小雪,洁白的雪花落在他们头上,把浅金色的长...

  • 番外一

    番外一——关于红线 【红线那玩意儿,没有自己整一个呗,干嘛非得要月老的】 和鹿晗公开近一个月,热巴终于体会到什么叫...

  • 番外一

    烟云缭绕,随风飘渺而散,殿前烛光消隐殆尽,榻席之上,那白发之人幽幽转醒,一袭紫衣,历劫而归,清容未变,睁眼刹那,禅...

  • 番外一

    后来叶络投了魔道, 漆黑的魔气不断在她身旁肆虐,雷霆直直从九重天上劈下,生生打散了叶络的金仙之体。 那...

  • 番外一

    2022年9月20日 或者岁月也不过如此 8年的时间,他们在一起,一天一天,一月一月 要不是到了这一天想要纪念,都...

  • 番外(一)

    初一(3)班的李文婷是个很有趣的女生,她剪了个跟我一模一样的发型。很多人都说,她跟我长得很像,一样都是瘦瘦的,只是...

  • 番外·一

    【下次25喜欢更新】我发现望欢和303真的写不出来,所以我就找到了一个“更好”的题材。 在一间密室,艾比盖尔,阿祖...

  • 番外(一)

    “当时你在想什么?当那个光圈捕捉住你的时候……” “我在想崔禾城。我在想我肯定这次自己挂掉了,消失了。他的生命中再...

网友评论

    本文标题:STM32番外(一)

    本文链接:https://www.haomeiwen.com/subject/ozorjxtx.html