GPIO输出模式-按键.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GPIO输入模式——按键 ST M32的IO 口做输入使用的时候,是通过读取IDR的内容来读取IO 口 的状态的。典型的应用有按键,各种传感器状态开关 (如红外开关、超 声波、温度等),这些应用,都是IO的状态被动地被改变,因此,是做 输入使用。 本节,就以按键为例,介绍GPIO做输入使用时的编程方法。 1、 硬件设计 上述的按键电路设计方法是:在一个电源、地和电阻的连通支路 中,嵌入按键开关,开关的正电源侧分出一路,与MCU的GPIO连接,四 个按键分别接到PA0,PA8,PC1,PC2上。注意:电阻要放在正电源一 侧,请思考:如果电阻放在地一侧会出现什么情况呢? 2、 软件设计 现在我们来进行软件编程。按键的程序设计与LED的一样,也要遵 循这样一个步骤:首先使能对应端口的数字时钟,然后配置工作模式, ——也就是初始化!初始化完毕,即可通过查询IDR寄存器的相应位 值,即可知道按键是“按下”还是“释放” 了。 我们以这四个按键为例,讲解这四个GPIO 口的初始化。 (1) PA0 的初始化: a. 开启对应端口的数字时钟 因为PA0是在GPIO的A组,而GPIOA是挂接在APB2高级总线上 的 (P2 图1.1),因此要开启APB2的时钟。用下面的语句: RCC-APB2ENR |=12; 上面用了“ |=”运算符号,是指先进行或运算,再进行赋值运 算。12,就是bit2 。因此运算结果就是,APB2ENR的bit2位 被置“1” ,因为无论“0”还是“1” 只要与“1”或运算,结果都 是“1” 。 b. 配置工作模式 PA0工作在输入模式,输入模式对应的有“模拟输入”“浮空输 入”“上拉/下拉输入” ,在此,我们选择“上拉/下拉输入” 。用 下面的语句: GPIOA-CRL =0xFFFFFFF0; GPIOA-CRL |=0 上面要配置CRL,因为任何一组GPIO的0-7端口都在CRL里配 置,8-15在CRH里进行配置。第1句将CRL的bit3-0复位 为“0000” (任何值与0相与都是0 ),就是设置成输入;第2 句将CRL的bit3-2置位为“10” (任何值与1相或结果都是1), 就是设置成上拉/下拉输入。 课本P13表2.2 CNF[1:0] MODE[1:0] 输入配置 CNF[1:0] MODE[1:0] 输出配 置 50MHz 00 00 模拟输入 00 11 通用推 挽输出 01 00 浮空输入 01 11 通用开 (复位状 漏输出 态) 10 00 上拉/下拉输 10 11 复用推 入

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档