好发网站建设,幻想次元wordpress,群晖 做网站服务器,搭建手机网站Stm32l071原理图#xff1a; PA11与PA12连接着UNL2803 ULN2803是一种集成电路芯片#xff0c;通常被用作高电压和高电流负载的驱动器。 ULN2803是一个达林顿阵列#xff0c;当输入引脚#xff08;IN1至IN8#xff09;被连接到正电源时#xff0c;相应的输出引脚#xff…Stm32l071原理图 PA11与PA12连接着UNL2803 ULN2803是一种集成电路芯片通常被用作高电压和高电流负载的驱动器。 ULN2803是一个达林顿阵列当输入引脚IN1至IN8被连接到正电源时相应的输出引脚OUT1至OUT8将会断开或保持在高阻抗状态。这意味着输出引脚不会提供任何电流或电压输出。 当输入引脚被连接到正电源时通常用于让外部组件如微控制器或其他逻辑电路控制输出引脚的状态。如果你想让输出引脚处于活跃状态你需要将输入引脚连接到地或负电源。 当PA11与PA12输入高电平其对位引脚REALY1和REALY2输出就为低电平,反之输入为低输出就为高
当REALY1和REALY2输出为低电平继电器Relay导通其对位的K1、K2就会导通LD2、LD3发光,反之继电器处于释放状态那么K1、K2断开灯熄灭
CubeMX配置 Function.c及Function.h
#include Function.h
#include gpio.h
void Function_LD5_ON(void){HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_RESET);
}void Function_LD5_OFF(void){HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_SET);
}void Function_LD5_Toggle(void){HAL_GPIO_TogglePin(LD5_GPIO_Port, LD5_Pin);
}void Function_K1_ON(void){HAL_GPIO_WritePin(K1_GPIO_Port, K1_Pin, GPIO_PIN_SET);
}void Function_K1_OFF(void){HAL_GPIO_WritePin(K1_GPIO_Port, K1_Pin, GPIO_PIN_RESET);
}void Function_K1_Toggle(void){HAL_GPIO_TogglePin(K1_GPIO_Port, K1_Pin);
}void Function_K2_ON(void){HAL_GPIO_WritePin(K2_GPIO_Port, K2_Pin, GPIO_PIN_SET);
}void Function_K2_OFF(void){HAL_GPIO_WritePin(K2_GPIO_Port, K2_Pin, GPIO_PIN_RESET);
}void Function_K2_Toggle(void){HAL_GPIO_TogglePin(K2_GPIO_Port, K2_Pin);
}#ifndef __FUNCTION__
#define __FUNCTION__
void Function_LD5_ON(void);void Function_LD5_OFF(void);void Function_LD5_Toggle(void);void Function_K1_ON(void);void Function_K1_OFF(void);void Function_K1_Toggle(void);void Function_K2_ON(void);void Function_K2_OFF(void);void Function_K2_Toggle(void);#endifmain函数
while (1){Function_K1_Toggle();Function_LD5_Toggle();Function_K2_Toggle();HAL_Delay(300);}效果
K1-LED、K2-LED、LD5持续亮灭