串口和普通gpio口功能的区别是什么

general purpose input output (通用输入/输出)简称为gpio,或总线扩展器,人们利用工业标准i2c、smbus或spi接口简化了i/o口的扩展。当微控制器或芯片组没有足够的i/o端口,或当系统需要采用远端串行通信或控制时,gpio产品能够提供额外的控制和监视功能。
分类:硬件/嵌入开发驱动开发/核心开发
每个gpio端口可通过软件分别配置成输入或输出。maxim的gpio产品线包括8端口至28端口的gpio,提供推挽式输出或漏极开路输出。提供微型3mm x 3mm qfn封装。
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指com接口),是采用串行通信方式的扩展接口。串行接口 (serial interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
gpio端口各种模式的区别 (1)gpio_mode_ain 模拟输入
(2)gpio_mode_in_floating 浮空输入
(3)gpio_mode_ipd 下拉输入
(4)gpio_mode_ipu 上拉输入
(5)gpio_mode_out_od 开漏输出
(6)gpio_mode_out_pp 推挽输出
(7)gpio_mode_af_od 复用开漏输出
(8)gpio_mode_af_pp 复用推挽输出
1.1 i/o口的输出模式下,有3种输出速度可选(2mhz、10mhz和50mhz),这个速度是指i/o口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关(芯片内部在i/o口 的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路)。通过选择速度来选择不同的输出驱动模块,达到最佳的噪声 控制和降低功耗的目的。高频的驱动电路,噪声也高,当不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的emi性能。当然如果要输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到失真的输出信号。
关键是gpio的引脚速度跟应用匹配(推荐10倍以上?)。
比如:
1.1.1 对于串口,假如最大波特率只需115.2k,那么用2m的gpio的引脚速度就够了,既省电也噪声小。
1.1.2 对于i2c接口,假如使用400k波特率,若想把余量留大些,那么用2m的gpio的引脚速度或许不够,这时可以选用10m的gpio引脚速度。
1.1.3 对于spi接口,假如使用18m或9m波特率,用10m的gpio的引脚速度显然不够了,需要选用50m的gpio的引脚速度。
1.2 gpio口设为输入时,输出驱动电路与端口是断开,所以输出速度配置无意义。
1.3 在复位期间和刚复位后,复用功能未开启,i/o端口被配置成浮空输入模式。
1.4 所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。
1.5 gpio口的配置具有上锁功能,当配置好gpio口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。
2、推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极。 要得到高电平状态需要上拉电阻才行。 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。
要实现 线与 需要用oc(open collector)门电路。是两个参数相同的三极管或mosfet,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流
当端口配置为输出时:
开漏模式:输出 0 时,n-mos 导通,p-mos 不被激活,输出0。
输出 1 时,n-mos 高阻, p-mos 不被激活,输出1(需要外部上拉电路);此模式可以把端口作为双向io使用。
推挽模式:输出 0 时,n-mos 导通,p-mos 高阻 ,输出0。
输出 1 时,n-mos 高阻,p-mos 导通,输出1(不需要外部上拉电路)。
简单来说开漏是0的时候接gnd 1的时候浮空 推挽是0的时候接gnd 1的时候接vcc
3、在stm32中选用io模式
(1) 浮空输入_in_floating ——浮空输入,可以做key识别,rx1
(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)
gpio口和uart的区别 gpio通用端口,uart串口,i2c,spi 他们就是时序不同,cpu和外扩的芯片进行通信,领会它们的通信时序就ok,呵呵
general purpose input output (通用输入/输出)简称为gpio,或总线扩展器,利用工业标准i2c、smbus™或spi™接口简化了i/o口的扩展。当微控制器或芯片组没有足够的i/o端口,或当系统需要采用远端串行通信或控制时,gpio产品能够提供额外的控制和监视功能。
uart:universal asynchronous receiver/transmitter,通用异步接收/发送装置
i2c(inter-integrated circuit)总线是由philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
spi:高速同步串行口。是一种标准的四线同步双向串行总线。
spi,是英语serial peripheral interface的缩写,顾名思义就是串行外围设备接口。是motorola首先在其mc68hcxx系列处理器上定义的。spi接口主要应用在 eeprom,flash,实时时钟,ad转换器,还有数字信号处理器和数字信号解码器之间。spi,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为pcb的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如at91rm9200.

搭载LGD面板,三星83寸OLED电视美国上市
软件工程师和数据科学家一起工作时,会擦出什么火花呢?
机器人博士刚柔并济 为餐饮机器人“赋能”
5G iPhone将推传感器位移?相关产业链风潮来了
无人机高光谱成像仪在农田信息监测领域的应用
串口和普通gpio口功能的区别是什么
华为P50 Pr渲染图曝光引发网友热议
随着AI技术的普及,AI在安防领域的附加价值开始凸显
功分器和分配器的区别 微带功分器相位怎么调试?
面包板是什么
米尔科技ARM 快速模型 介绍
人工智能机器人时代已来,该如何实现未来人工智能的精准法治?
明年谷歌Daydream将反超三星Gear VR 有以下这些理由
机房动环系统主要方面的说明
万钢: 氢燃料电池汽车商业化的三个方向
维科电池年产6000万支聚合物锂电芯的项目开工
AMD面向锐龙4000处理器推出专属驱动程序 升级2020版肾上腺素
雷曼推出“下一代高教智能显示交互系统” 提升教学质量
小米电视4A 70英寸直降700元 是预算不高的用户的最佳选择
安规电容是家庭电路的保护者和守护者?