qq_51984841 2024-03-19 12:39 采纳率: 100%
浏览 9
已结题

32寄存器配置,点灯

请问点灯的时候配置寄存器RCC->APB2ENR=0X00000010,但是打出RCC后每个口都是单独显示的,选择IOPC口报错,删掉也是,有没有友友可以解答一下🙏🏻🙏🏻

  • 写回答

4条回答 默认 最新

  • GISer Liu 2024-03-19 23:14
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    根据你描述的问题,你在配置寄存器 RCC->APB2ENR 时遇到了一些困难,尤其是在选择 IOPC
    口时报错。从你的描述中,我能理解到你的目标是点亮某些引脚,但在配置寄存器时出现了问题。
    首先,让我们来分析可能的原因:

    1. 寄存器配置错误 : 在设置 RCC->APB2ENR 时,可能配置错误,导致无法正确访问所需的引脚。
    2. 引脚复用设置 : 可能需要将 GPIO 口配置为输出模式,并且可能需要将相应的引脚配置为 GPIO 复用模式,以便能够控制其状态。
    3. 引脚选择错误 : 可能你在选择引脚时出现了错误,导致无法正确点亮 LED。
      解决方案:
    4. 确认寄存器配置 : 首先,确保你正确地配置了 RCC->APB2ENR,以确保能够访问所需的 GPIO 端口。确保将 IOPC 的相应位设置为 1,启用对应的端口。
    5. 配置引脚模式 : 确保将 GPIO 引脚配置为输出模式,并且将其配置为 GPIO 复用模式,以便能够控制其状态。你可以使用 GPIOx_CRHGPIOx_CRL 寄存器来配置引脚的模式。
    6. 检查引脚选择 : 确保你选择了正确的 GPIO 端口和引脚,并且在代码中正确地引用了它们。如果引用错误,可能会导致报错或无法正常工作。
      下面是一个示例代码大纲,演示了如何正确配置 GPIO 端口以点亮 LED:
      cCopy code
      // 启用对应 GPIO 端口的时钟
      RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
      // 配置引脚为推挽输出模式,速度为50MHz
      GPIOC->CRH &= ~(GPIO_CRH_MODE13 | GPIO_CRH_CNF13);
      GPIOC->CRH |= (GPIO_CRH_MODE13_0);
      // 点亮 LED
      GPIOC->BSRR = GPIO_BSRR_BS13; // 设置引脚13为高电平
      
      请根据你的具体需求,修改代码中的引脚号和相应的寄存器设置。确保在修改代码时参考芯片手册以确保正确性。
      希望这可以帮助你解决问题。如果你需要进一步的帮助或有任何疑问,请随时提出。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月19日