当前位置: 首页 > news >正文

网站所有者是什么意思优化大师卸载不了

网站所有者是什么意思,优化大师卸载不了,重庆网站备案大厅,学做网站论坛第六节🔧 ​一、核心寄存器概览​ ​寄存器​​功能​​位宽​​关键位域​​GPIOx_CRL/CRH​配置引脚模式(输入/输出/复用/模拟)和输出参数32位每4位控制1个引脚:CNF[1:0](模式) MODE[1:0](速度&am…

🔧 ​一、核心寄存器概览

寄存器功能位宽关键位域
GPIOx_CRL/CRH配置引脚模式(输入/输出/复用/模拟)和输出参数32位每4位控制1个引脚:CNF[1:0](模式) + MODE[1:0](速度)
GPIOx_IDR读取引脚输入电平32位低16位有效(1位对应1个引脚),只读
GPIOx_ODR设置引脚输出电平32位低16位有效,直接写入可能引发竞态(慎用
GPIOx_BSRR原子操作电平控制:低16位置位(1→高),高16位复位(1→低)32位写0无效,无中断风险,​替代ODR的首选
GPIOx_BRR复位寄存器(功能被BSRR高16位替代,旧型号兼容)16位写1复位对应引脚
GPIOx_LCKR锁定配置防篡改32位位16=1时,位0-15锁定对应引脚配置

⚠️ ​注意​:

  1. 所有寄存器必须按32位字访问​(禁止半字/字节操作);
  2. 操作前必须使能时钟​(RCC_APB2ENR对应位),否则配置无效。

⚙️ ​二、寄存器详解与配置方法

1. ​模式配置寄存器(CRL/CRH)​
  • 功能​:控制引脚工作模式(4种输入+4种输出)和输出驱动能力:
    // 配置PA5为推挽输出(50MHz)
    GPIOA->CRL &= ~(0xF << 5 * 4);       // 清除原配置
    GPIOA->CRL |= (0x3 << 5 * 4);        // MODE=11 (50MHz), CNF=00 (推挽输出)
  • 模式编码表​:
    CNF[1:0]​MODE[1:0]​模式应用场景
    00>00推挽输出LED、高速信号(PWM)
    01>00开漏输出I²C、5V兼容设备
    1000浮空输入中断检测、数字信号读取
    1100模拟输入ADC采集
2. ​数据寄存器(IDR/ODR)​
  • IDR​:实时读取引脚电平(需先配置为输入模式)
    if (GPIOA->IDR & (1<<6)) {  // 检测PA6是否为高电平// 高电平逻辑
    }
  • ODR​:​非原子操作,直接写入可能被中断打断,导致电平异常:
    GPIOA->ODR |= (1<<8);   // 置PA8高电平(不推荐)
3. ​原子操作寄存器(BSRR/BRR)​
  • BSRR​:单指令完成置位/复位,无竞态风险:
    GPIOA->BSRR = (1<<5);     // PA5置高(原子操作)
    GPIOA->BSRR = (1<<(16+5));// PA5置低(等效BRR)
  • BRR​:仅复位功能(16位),可被BSRR替代:
    GPIOA->BRR = (1<<5);      // PA5置低
4. ​复用功能配置

复用模式需通过AFR寄存器选择功能编号(如SPI、USART):

// 配置PA9为USART1_TX(AF7)
GPIOA->CRH |= (0x2 << 9 * 4);         // 复用模式(CNF=10)
GPIOA->AFR[1] |= (0x7 << ((9-8)*4)); // AFRH[1]对应PA8-PA15,PA9=AF7

⚡️ ​三、实战配置流程(以按键输入+LED输出为例)​

步骤1:使能时钟
RCC->APB2ENR |= (1<<2);   // 使能GPIOA时钟
RCC->APB2ENR |= (1<<3);   // 使能GPIOB时钟
步骤2:配置PB0为下拉输入(按键)
GPIOB->CRL &= ~(0xF << 0 * 4);      // 清除PB0配置
GPIOB->CRL |= (0x8 << 0 * 4);       // CNF=10(下拉输入),MODE=00(输入模式)
GPIOB->ODR &= ~(1<<0);            // ODR=0启用下拉
步骤3:配置PA5为推挽输出(LED)
GPIOA->CRL &= ~(0xF << 5 * 4);      // 清除PA5配置
GPIOA->CRL |= (0x3 << 5 * 4);       // CNF=00(推挽输出),MODE=11(50MHz)
步骤4:按键控制LED
while (1) {if (GPIOB->IDR & (1<<0)) {    // 检测按键按下(PB0高电平)GPIOA->BSRR = (1<<5);     // PA5亮(原子操作)} else {GPIOA->BSRR = (1<<(16+5));// PA5灭}
}

⚠️ ​四、关键注意事项

  1. 电平兼容性​:

    • 标注“FT”的引脚兼容5V(如PA8),未标注仅支持3.3V。
    • 5V设备连接非FT引脚需电平转换电路。
  2. JTAG引脚释放​:
    若需使用PA13~PA15/PB3~PB4作GPIO,需禁用JTAG

    1.  
      RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;    // 使能AFIO时钟
      AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; // 关闭JTAG
  3. 配置锁定(LCKR)​​:
    防止关键引脚(如复位脚)被意外修改

    GPIOA->LCKR = (1<<5) | (1<<16);  // 锁定PA5配置
  4. 开漏输出必需上拉电阻​:
    I²C等总线场景,外部需接4.7kΩ上拉电阻。


💎 ​五、总结:寄存器 vs 库函数

特性寄存器操作库函数(如HAL)​
执行效率⭐⭐⭐⭐⭐(直接写寄存器)⭐⭐(函数调用开销)
代码可读性⭐(需查手册)⭐⭐⭐⭐⭐(函数名自注释)
移植性⭐(与芯片绑定)⭐⭐⭐(跨系列兼容)
适用场景实时控制、高频信号快速开发、复杂外设初始化

推荐:​混合使用

  • 高频操作(如PWM)用寄存器提升性能;
  • 复杂外设(USB、ETH)用库函数保证可维护性。
http://www.dt0577.cn/news/52363.html

相关文章:

  • 潍坊网站建设优化广东疫情最新资讯
  • sem和seo的工作湖南专业的关键词优化
  • 万户网络做网站怎么样企业网络营销的模式有哪些
  • pc网站建设需要提供哪些资料百度竞价排名官网
  • 凡科网站怎么修改昨天做的网站百度云群组
  • wordpress怎么建设网站seo的流程是怎么样的
  • 备案用网站建设方案书新手20种引流推广方法
  • 腾讯云电商网站建设教育培训排行榜前十名
  • 做医药商城网站的公司吗今天《新闻联播》回放
  • 如何做输入密码进入网站自媒体平台哪个收益高
  • 网页源代码大全seo搜索引擎优化实训总结
  • 购物网站做推广b2b有哪些电商平台
  • 建设公司官网流程seo扣费系统
  • 宽屏网站模板企业源码建立网站的几个步骤
  • 微企点做的网站百度搜得到吗seo诊断工具有哪些
  • 重庆装修公司避坑指南自己怎么做网站优化
  • 大渡口网站建设网络营销推广及优化方案
  • 用discuz做行业网站网站关键词查询网址
  • 带网站的电话销售新人怎么找客户
  • 一流的邯郸网站建设做百度推广怎么做才能有电话
  • 南京做网站建设的公司排名公司网页制作模板
  • 门户网站优化报价简述网络营销的特点
  • 怎样免费建立网站百度关键词seo外包
  • 兼职做一篇微信的网站最新做做网站
  • 宁波正规网站建设方式郑州搜索引擎优化
  • 做服装外贸的网站设计网络推广优化方案
  • 网站服务器租用你的知识宝库今日头条新闻发布
  • 网站建设对于企业的必要性长沙市网站制作
  • 企业网站制作是什么seo网站内容优化有哪些
  • 计算机网络技术就业方向及前景东莞网络推广优化排名