您的位置:首页 > 新闻 > 会展 > 他达拉非的副作用和危害_最新国内新闻重大事件_手机优化软件哪个好用_引擎网站

他达拉非的副作用和危害_最新国内新闻重大事件_手机优化软件哪个好用_引擎网站

2025/1/13 2:55:43 来源:https://blog.csdn.net/2301_79145450/article/details/144989668  浏览:    关键词:他达拉非的副作用和危害_最新国内新闻重大事件_手机优化软件哪个好用_引擎网站
他达拉非的副作用和危害_最新国内新闻重大事件_手机优化软件哪个好用_引擎网站

STM32 中的 CRH 和 CRL 寄存器

在STM32微控制器中,CRH(Configuration Register High)和CRL(Configuration Register Low)寄存器用于配置GPIO端口的引脚模式。每个GPIO端口都有对应的CRL和CRH寄存器,分别管理该端口低8位(0-7)和高8位(8-15)引脚的配置。

1. 基本概念
  • CRL (Configuration Register Low):控制GPIO端口的低8个引脚(0到7),即PIN_0PIN_7
  • CRH (Configuration Register High):控制GPIO端口的高8个引脚(8到15),即PIN_8PIN_15

这两个寄存器决定了每个引脚的工作模式(输入、输出、复用功能等)以及相关的参数设置,如输出速度、上拉/下拉电阻等。

2. 寄存器结构

每个CRL或CRH寄存器由4个字节组成,每个字节配置一个引脚的属性。具体来说,每个引脚有两位用于配置模式(Mode bits)和两位用于配置配置项(Configuration bits)。以下是它们的具体含义:

模式位(Mode bits)
  • 00: 输入模式(reset state)
  • 01: 输出模式,最大速度10 MHz
  • 10: 输出模式,最大速度2 MHz
  • 11: 输出模式,最大速度50 MHz
配置位(Configuration bits)
  • 对于输入模式:
    • 00: 模拟输入模式(无内部上拉/下拉)
    • 01: 浮空输入(默认状态)
    • 10: 上拉输入(内置上拉电阻)
    • 11: 下拉输入(内置下拉电阻)
  • 对于输出模式:
    • 00: 通用推挽输出
    • 01: 通用开漏输出
    • 10: 复用推挽输出
    • 11: 复用开漏输出
3. 配置过程
    /* 1. 开启时钟 *//* 1.1 串口1外设的时钟 */RCC->APB2ENR |= RCC_APB2ENR_USART1EN;/* 1.2 GPIO时钟 */RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;/* 2. 配置GPIO引脚的工作模式  PA9=Tx(复用推挽 CNF=10 MODE=11)  PA10=Rx(浮空输入 CNF=01 MODE=00)*/GPIOA->CRH |= GPIO_CRH_CNF9_1;GPIOA->CRH &= ~GPIO_CRH_CNF9_0;GPIOA->CRH |= GPIO_CRH_MODE9;GPIOA->CRH &= ~GPIO_CRH_CNF10_1;GPIOA->CRH |= GPIO_CRH_CNF10_0;GPIOA->CRH &= ~GPIO_CRH_MODE10;

4. 注意事项
  • 时钟使能:在配置任何GPIO之前,请确保相关外设的时钟已经被正确使能。
  • 库函数优先:虽然可以直接通过写入寄存器来配置GPIO,但建议使用STM32的标准外设库或HAL库提供的API函数,因为这些库已经封装了底层细节,使得编程更加简单直观。
  • 初始化顺序:在初始化GPIO时,先进行时钟配置,再进行引脚配置,最后才是其他外设的初始化。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com