STM8单片机GPIO口
发布网友
发布时间:2022-04-20 07:22
我来回答
共1个回答
热心网友
时间:2023-07-16 20:47
1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!弱强只是上拉电阻的阻值不同,没有什么严格区分。
2、下拉输入:就是把电压拉低,拉到GND。与上拉原理相似。
3、浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。 通俗讲就是让管脚什么都不接,浮空着。
4、模拟输入:模拟输入是指传统方式的输入.数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。
5、推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。
6、开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
7、复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。
在STM32中选用IO模式,下面是参考网上的总结一下。
(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX
(2)带上拉输入_IPU——IO内部上拉电阻输入
(3)带下拉输入_IPD—— IO内部下拉电阻输入
(4) 模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电
(5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能
(6)推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的
(7)复用功能的推挽输出_AF_PP ——片内外设功能(I2C的SCL,SDA)(8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)
引用:http://blog.csdn.net/lyzheng/article/details/8071864
STM8当中的GPIO各模式如何用?
将DDRx位置1就选择了输出模式。在该模式下向ODR寄存器的位写入数据将会通过锁存器输出对应数字值到I/O口。读IDR的位将会返回相应的I/O引脚电平值。通过软件配置CR1,CR2寄存器可以得到不同的输出模式:上拉输出,开漏输出。低功耗模式 表19低功耗模式对STM8S的GPIO口的影响 模式 描述 等待(Wait)...
STM32F103,了解一下?
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了ARM Cortex-M3内核,主频高达72MHz。2. 内置IO口和存储器接口,便于与外部器件进行通信和控制。3. 支持外部时钟和复位功能,可通过端口配置实现其他功能。4. 具有容忍5V电压的能力,适用于较宽的工作电压范围。5. 内置看门狗定时器和电源管理单元,可提高系统的稳定性和功耗效率。6. 支持多种外设接口,如ADC、DAC、UART、SPI等。7. 集成了…STM32是ARM Cortex内核单片机和微处理器市场和技术方面的佼佼者,目前提供16大产品线 (F0, G0, F1, F2, F3, G4, F4, F7, H7, MP1, L0, L1, L4, L4+,L5, WB),超过1000个型号。STM32产品广泛应用于工业控制、消费电子、物联网、通讯设备、医疗服...
STM8库函数开发手册(1) //工程模板、GPIO、时钟
1. 初始化工程: - 在LIB文件夹中,复制STM8官方库函数,包括inc和src子目录。 - 将STM8中断入口文件stm8s_it.c和stm8s_it.h移动到USR,它们是中断处理的核心组件。 - 将stm8s_conf.h添加到LIB,作为功能库的配置头文件。2. 配置IAR工程: - 在IAR中,新建项目并添加stm8s_...
STM8S单片机的GPIO端口在初始化的时候为何会有高速推挽输出和低速推挽...
输出的频率不一样,也就是输出的能力不同,常用在选通高速电路
stm8s gpio 能输出多少电流
好好 一般每个io口最大25ma 整个芯片150ma 手册上有 好好 一般每个io口最大25ma 整个芯片150ma 手册上有 好好 一般每个io口最大25ma 整个芯片150ma 手册上有
stm8l151与152的不同点
不同点在于以下几个方面:1、Flash存储器大小不同:STM8L151有8KB的Flash存储器,而STM8L152有16KB的Flash存储器。2、RAM大小不同:STM8L151有2KB的RAM,而STM8L152有4KB的RAM。3、端口数量不同:STM8L151有24个GPIO(通用输入输出端口),而STM8L152有32个GPIO。4、定时器数量不同:STM8L...
stm8的定时器的tim2的通道1,通道2输出pwm,对应的GPIO需要配置吗,咋么配...
不需要任何配置的,只需要设置PWM的相关寄存,配置成输下PWM,他自动就输出PWM了 include "STM8S103K.h" //头文件,定义各寄存器的地址 void main(void){ /*定时器基础设置*/ CLK_CKDIVR= 0x00; //内部16M时钟不分频 TIM2_PSCR = 0x00; //定时器2预分频系数为1 TIM2_CR1 = 0x01; ...
如何使用STM8S单片机的多通道AD转换
我给你个例程,我这是两个通道,一个是采集音频,然后彩灯随音乐节奏闪烁,同时采集电池电量。void AD2_Config(void){ /* Init GPIO for ADC2 */ GPIO_Init(GPIOB, GPIO_PIN_6, GPIO_MODE_IN_FL_NO_IT);/* De-Init ADC peripheral*/ ADC1_DeInit();ADC1_ClearITPendingBit(ADC1_IT_EOC...
STM8 USART串口通信搞不懂啊。。。
程序从Main进入 1、管脚初始化;2、时钟初始化;3、配置芯片的UART模块;4、死循环一直等待;5、若有串口数据进来,会触发中断函数,执行中断,把接收到的数据取出来,再通过发送函数发送出去;
stm8 gpio如何输出2M的时钟信号
你又想用GPIO又想用SPI那怎么行,GPIO和SPI又不是同一个东西。你开复用的SPI时钟后,GPIO就用不了了,你对GPIO的寄存器操作也木有用。SPI是个跟串口协议一样的一种通信协议,最高速度为10M,可以设置它的波特率。我不太懂你怎么用它做2M的时钟信号,是想用SPI的时钟线?
stm8用库函数初始化GPIO引脚,与stm32调用库的方式不一样?
define Relay1 GPIO_PIN_2 define Relay2 GPIO_PIN_3 GPIO_Init(GPIOA,(GPIO_Pin_TypeDef)(Relay1|Relay2),GPIO_MODE_OUT_PP_LOW_SLOW);用宏定义可方便以后修改