2024-05-27 01:58 采纳率: 0%
浏览 496
已结题

stm32输出3.3V电压不够

用的stm32f103c8t6最小系统板,外设差不多连了5个左右,都连3.3V,但是调试的时候发现,要不传感器工作灯不亮,要不就是很暗,就是电压不够,我在板子3.3和GND外接了电源还是不行。是怎么回事,是外设太多,分压了吗

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-05-27 01:58
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    你的问题可能是由于多个外部元件产生的共模干扰导致的。在这个示例中,3.3V是从GND引出的,而其它连接到这个电极的外部设备也可能会产生这种共模干扰。

    以下是一些可能的解决方案:

    1. 将所有外部设备的地线连接在一起,这样可以避免每个设备对地线的影响。你可以在电路设计时考虑到这一点。

    2. 使用一个独立的公共电源,如单端口USB或GPIO(通用输入/输出)接口,然后将3.3V从这些电源输出。这可以通过使用一个电源管理器来实现,例如STM32CubeMX。

      下面是一个简单的示例,说明如何为GPIO接口供电:

      #include "stm32f103.h"
      
      void setup() {
          GPIO_InitTypeDef GPIO_InitStructure;
          RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_out_PP;
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
          GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
          GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
          GPIO_Init(GPIOA, &GPIO_InitStructure);
      
          while (1) {}
      }
      
      void loop() {
          // 设置GPIOA的输出模式
          GPIO_SetBits(GPIOA, GPIO_Pin_7, GPIO骼比特高);
      
          // 输出3.3V
          System.GPIO_PutState(GPIOA, GPIO_Pin_7, GPIO_PuPd.off);
      
          // 停止中断,以确保系统能正常运行
         总中断未清除();
      }
      

    请注意,你需要替换#include "stm32f103.h"为你自己的代码段。

    希望以上信息对你有所帮助!如果你还有其他问题或者需要更具体的帮助,请随时告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月1日
  • 创建了问题 5月27日