首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置STM32L152上的GPIO引脚?

如何配置STM32L152上的GPIO引脚?
EN

Stack Overflow用户
提问于 2013-05-30 22:29:47
回答 1查看 4K关注 0票数 1

我有一个STM32L发现板,其中包含一个stm32l152rb微处理器。我试着在没有任何库的情况下在汇编中对那个板进行编程。到目前为止,我成功地编写了链接器脚本和一个基本例程,它将.data部分复制到内存中,并将bss部分归零。但除此之外,我有点迷茫了。

为了了解配置GPIo的工作原理,我做了一个很小的实验,我想为点亮连接到GPIO端口B,pin 7的绿色LED的电路板编写一个程序。阅读数据表,我得出结论,我需要做以下两件事:

  1. 将GPIO端口B、pin 7配置为输出引脚
  2. 将所述引脚调高

但在这个地方,我象征性地看不到树木的森林。我不知道我应该选择哪种IO模式,所有这些缩略词都让我感到困惑。我真的很感激有人给我详细的信息,指导和可能的例子组装如何做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-31 17:45:58

在使用GPIO模块之前,您必须执行以下操作:

  1. 重置GPIO寄存器:
    • RCC模块,寄存器AHBRSTR,位GPIOBRST设置为1- rst高。
    • RCC模块,寄存器AHBRSTR,位GPIOBRST设置为0- rst低。

  1. 启用GPIO寄存器时钟:
    • RCC模块,寄存器AHBENR,位GPIOBEN设置为1-启用时钟

之后,您可以开始使用GPIO寄存器。

  1. GPIO模块,寄存器GPIOB_MODER,位场15:14设置为01 -通用输出模式
  2. GPIO模块,寄存器GPIOB_OTYPER,位7设置为0输出推挽。
  3. GPIO模块,寄存器GPIOB_OSPEEDR,位场15:14设置为00 - 400 kHz极低速。
  4. GPIO模块,注册GPIOB_PUPDR,位域15:14设置为00 -不拉,下拉

现在您可以使用GPIOB_BSRR (设置/重置)寄存器或GPIOB_ODR (输出)寄存器:

  • GPIO模块,寄存器GPIOB_BSRR,位7设置为1-设置GPIOB引脚7(高)
  • GPIO模块,寄存器GPIOB_BSRR,位23设置为1- ReSet GPIOB引脚7(低)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16846875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档