用的stm32f103c8t6最小系统板,外设差不多连了5个左右,都连3.3V,但是调试的时候发现,要不传感器工作灯不亮,要不就是很暗,就是电压不够,我在板子3.3和GND外接了电源还是不行。是怎么回事,是外设太多,分压了吗
4条回答 默认 最新
檀越@新空间 2024-05-27 01:58关注上午好☀️☀️☀️️
本答案参考ChatGPT-3.5你的问题可能是由于多个外部元件产生的共模干扰导致的。在这个示例中,3.3V是从GND引出的,而其它连接到这个电极的外部设备也可能会产生这种共模干扰。
以下是一些可能的解决方案:
-
将所有外部设备的地线连接在一起,这样可以避免每个设备对地线的影响。你可以在电路设计时考虑到这一点。
-
使用一个独立的公共电源,如单端口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"为你自己的代码段。希望以上信息对你有所帮助!如果你还有其他问题或者需要更具体的帮助,请随时告诉我。
解决 无用评论 打赏 举报 编辑记录-