做的好的大学生旅行有哪些网站好,做商城网站哪里买,网站建设主机,家电电商平台排名图片取自 江协科技 STM32入门教程-2023版 细致讲解 中文字幕 p5
【STM32入门教程-2023版 细致讲解 中文字幕】 https://www.bilibili.com/video/BV1th411z7sn/?p5share_sourcecopy_webvd_source327265f5c70f26411a53a9226af0b35c
目录
编辑
一.STM32的四种输…
图片取自 江协科技 STM32入门教程-2023版 细致讲解 中文字幕 p5
【STM32入门教程-2023版 细致讲解 中文字幕】 https://www.bilibili.com/video/BV1th411z7sn/?p5share_sourcecopy_webvd_source327265f5c70f26411a53a9226af0b35c
目录
编辑
一.STM32的四种输入方式
1、上拉输入GPIO_Mode_IPU 2、下拉输入GPIO_Mode_IPD
3、模拟输入GPIO_Mode_AIN
4、浮空输入(GPIO_Mode_IN_FLOATING)
二.STM32的四种输出方式
1、普通推挽输出GPIO_Mode_Out_PP
2、普通开漏输出GPIO_Mode_Out_OD
编辑
3、复用推挽输出GPIO_Mode_AF_PP
4、复用开漏输出
三.结束语 一.STM32的四种输入方式 1、上拉输入GPIO_Mode_IPU 图片1处信号进入芯片后加了一个上拉电阻再经过施密特触发器转换成0、1信号读取此时的引脚电平为高电平 // 初始化上拉输入模式的GPIO
GPIO_InitStruct.Pin GPIO_PIN_0;
GPIO_InitStruct.Mode GPIO_MODE_INPUT; // 上拉输入模式
GPIO_InitStruct.Pull GPIO_PULLUP; // 上拉输入
HAL\_GPIO\_Init(GPIOA, GPIO_InitStruct); 2、下拉输入GPIO_Mode_IPD 图片2处信号进入芯片后加了一个上拉电阻再经过施密特触发器转换成0、1信号读取此时的引脚电平为高电平
// 初始化下拉输入模式的GPIO
GPIO_InitStruct.Pin GPIO_PIN_0;
GPIO_InitStruct.Mode GPIO_MODE_INPUT; // 下拉输入模式
GPIO_InitStruct.Pull GPIO_PULLDOWN; // 下拉输入
HAL\_GPIO\_Init(GPIOA, GPIO_InitStruct);
3、模拟输入GPIO_Mode_AIN 信号进入后不经过上拉电阻或者下拉电阻关闭施密特触发器经由另一线路把电压信号传送到片上外设模块。 // 初始化模拟输入模式的GPIO
GPIO_InitStruct.Pin GPIO_PIN_0;
GPIO_InitStruct.Mode GPIO_MODE_ANALOG; // 模拟输入模式
GPIO_InitStruct.Pull GPIO_NOPULL; // 不设置上拉或下拉
HAL\_GPIO\_Init(GPIOA, GPIO_InitStruct);
4、浮空输入(GPIO_Mode_IN_FLOATING) 信号进入芯片内部后既没有接上拉电阻也没有接下拉电阻经由触发器输入。 // 初始化浮空输入模式的GPIO
GPIO_InitStruct.Pin GPIO_PIN_0;
GPIO_InitStruct.Mode GPIO_MODE_INPUT; // 浮空输入模式
GPIO_InitStruct.Pull GPIO_NOPULL; // 不设置上拉或下拉
HAL\_GPIO\_Init(GPIOA, GPIO_InitStruct);
二.STM32的四种输出方式
1、普通推挽输出GPIO_Mode_Out_PP
用在0V和3.3V的场合。线路经过两个P_MOS 和N_MOS 管负责上拉和下拉电流。
可以直接使用,推挽输出的低电平是0V高电平是3.3V。 // 初始化复用推挽输出模式的GPIO
GPIO_InitStruct.Pin GPIO_PIN_0;
GPIO_InitStruct.Mode GPIO_Mode_Out_PP; // 普通推挽输出模式
GPIO_InitStruct.Pull GPIO_NOPULL; // 不设置上拉或下拉
GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; // GPIO速度设置为高速
HAL\_GPIO\_Init(GPIOA, GPIO_InitStruct);
2、普通开漏输出GPIO_Mode_Out_OD
用在电平不匹配的场合需要输出5V的高电平的时候。用的时候就需要再外部接一个上拉电阻电源为5V把GPIO设置为开漏模式 // 初始化复用推挽输出模式的GPIO
GPIO_InitStruct.Pin GPIO_PIN_0;
GPIO_InitStruct.Mode GPIO_Mode_Out_OD; // 普通开漏输出模式
GPIO_InitStruct.Pull GPIO_NOPULL; // 不设置上拉或下拉
GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; // GPIO速度设置为高速
HAL\_GPIO\_Init(GPIOA, GPIO_InitStruct);
3、复用推挽输出GPIO_Mode_AF_PP
串口的输出 // 初始化复用推挽输出模式的GPIO
GPIO_InitStruct.Pin GPIO_PIN_0;
GPIO_InitStruct.Mode GPIO_MODE_AF_PP; // 复用推挽输出模式
GPIO_InitStruct.Pull GPIO_NOPULL; // 不设置上拉或下拉
GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; // GPIO速度设置为高速
HAL\_GPIO\_Init(GPIOA, GPIO_InitStruct);
4、复用开漏输出
IIC // 初始化复用开漏输出模式的GPIO
GPIO_InitStruct.Pin GPIO_PIN_0;
GPIO_InitStruct.Mode GPIO_MODE_AF_OD; // 复用开漏输出模式
GPIO_InitStruct.Pull GPIO_NOPULL; // 不设置上拉或下拉
GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; // GPIO速度设置为高速
HAL\_GPIO\_Init(GPIOA, GPIO_InitStruct);
三.结束语
以上就是对STM的输入输出的一个总结.