嵌出式------001

MOS管不可加交流电,而且需要散热

继电器不需要散热,而且可以通过高电压大电流

FT表示可以容忍5V电压 没有就只代表只接收3.3V

VSS接地 VDD接正极 一般遇到供电电路都会加上一个滤波电容,可以保证电压供电稳定

STM32一般主晶振都是8MHZ,然后经过锁相倍频得到72MHZ,再接20PF的电容作为起振电容

bash 复制代码
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);	//开启GPIOC的时钟
															//使用各个外设前必须开启时钟,否则对外设的操作无效
	
	/*GPIO初始化*/
	GPIO_InitTypeDef GPIO_InitStructure;					//定义结构体变量
	
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;		//GPIO模式,赋值为推挽输出模式
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;				//GPIO引脚,赋值为第13号引脚
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		//GPIO速度,赋值为50MHz
	
	GPIO_Init(GPIOC, &GPIO_InitStructure);					//将赋值后的构体变量传递给GPIO_Init函数
															//函数内部会自动根据结构体的参数配置相应寄存器
															//实现GPIOC的初始化
	



	/*设置GPIO引脚的高低电平*/
	/*若不设置GPIO引脚的电平,则在GPIO初始化为推挽输出后,指定引脚默认输出低电平*/
//	GPIO_SetBits(GPIOC, GPIO_Pin_13);						//将PC13引脚设置为高电平
	GPIO_ResetBits(GPIOC, GPIO_Pin_13);						//将PC13引脚设置为低电平

/*

以下就是非常常用的一段代码,非常之简单,就是这样用就可以相当于解方程之前先写一个解字

stm32使用外设都需要打开时钟,否则对外设的操作无效

因此就是先写这一句:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

开启了时钟之后就开始对该GPIO端口进行初始化操作

GPIO_InitTypeDef GPIO_InitStructure; //定义结构体变量 因为GPIO_Init需要传入一个结构体变量因此需要申明一个

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //GPIO模式,赋值为推挽输出模式

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //GPIO引脚,赋值为第13号引脚

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIO速度,赋值为50MHz

GPIO_Init(GPIOC, &GPIO_InitStructure);

一下是分别设置为高低电平代码

GPIO_SetBits(GPIOC, GPIO_Pin_13); //将PC13引脚设置为高电平

GPIO_ResetBits(GPIOC, GPIO_Pin_13); //将PC13引脚设置为低电平

*/

GPIO:通用输入输出口

可以配置8种输入输出模式

引脚电平:3.3V 部分引脚可以容忍5V

输出模式下可控制端口输出高低电平,用来驱动LED,控制蜂鸣器,模拟通信协议

输入模式下可读取端口的高低电平用来读取按键的输入,外接模块电平信号的输入,ADC电压采集,模拟通信协议

为了避免引脚的悬空导致输入数据的不确定,我们就需要再这里加入上拉或者下拉电阻,就相当于增加一个标志位用来标定高低电平

上拉就是高电平 下拉就是低电平输入

施密特触发器对输入电压进行整形,高于电压输出高 低于电压输出低 用来界定0和1,因为输入进来的电压波形不是很整齐的,因此添加一个施密特触发器用来整形信号

MOS管就是一种电子开关

推挽输出高低电平均有驱动能力,开漏输出相当于高阻态模式只有低电平驱动能力

相关推荐
La Pulga13 分钟前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
女神下凡4 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
硅基手札6 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
何粥学8 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_8 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY0920010 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式12 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎21 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
无敌贵点大王1 天前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件
庙堂龙吟奈我何1 天前
二进制和十六进制
stm32·单片机