uart串口,uart串口最大速度
UART是什么???串口??
UART (Universal Asynchronous Receiver/Transmitter)通用异步收发器。
UART是用于控制计算机与串行设备的芯片。
有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。
扩展资料:
定义
UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。
UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。
参考资料来源:百度百科-UART
Android UART 串口通信
最近有项目需要实现windows机器和Android开发版进行UART串口通信,经过3天查找尝试,特记录一下最终方案,希望之后的同行少走弯路,最后在git上回开源我最终的方案希望大家支持。
Android 3.0.1
Gradle 4.1
ARM开发版 : RK3399
PC机器:Win10
开发机器:MAC 10.13.3
先上图
由于 android-serialport-api 项目中的so使用较old的ndk编译,所以在对于Android 6.0 以上版本兼容的时候会报错 dlopen failed: "has text relocations" 。且使用的mk进行编译,特升级为用cmake编译。
升级 android-serialport-api
项目结构:
app对应原项目中的各个Activity, androidserial 是module 对应编译之前的so,还有API的封装。可以直接引用androidserial,调用方法参考app目录下的activity。
注意 关于权限!
当接入开发板后如果发现 Error You do not have read/write permission to the serial port 需要root 权限 ,在开发者模式中开启root 权限 adb和应用
使用一下命令开启Android对串口的读写权限
setenforce 0 : 关闭防火墙,有人说关键是这,但是我的环境不用关闭,只要给权限就可以
注意 关于ttyS1 - 6 ttyS1 - 6 对应的是 UART 串口1-6 一般都是一一对应的。这个具体要看一下开发板的说明。
记录的比较糙,还请见谅,如有问题请留言,我看到后肯定回复。项目主要看结构,剩下的都是复制黏贴的事。 git地址:
UART接口
认识UART接口
UART详解---
简单的讲:(UART与COM)
嵌入式里面说的串口,一般是指UART口, 但是我们经常搞不清楚它和COM口的区别, 以及RS232, TTL等关系, 实际上UART,COM指的物理接口形式(硬件), 而TTL、RS-232是指的电平标准(电信号).
UART有4个pin(VCC, GND, RX, TX), 用的TTL电平, 低电平为0(0V),高电平为1(3.3V或以上)。
COM口是我们台式机上面常用的口(下图),9个pin, 用的RS232电平, 它是负逻辑电平,它定义+5 +12V为低电平,而-12 -5V为高电平
详细的说:
UART的特征
一般uart控制器在嵌入式系统里面都做在cpu一起,像飞思卡尔的IMX6芯片就是这样,有多个uart控制器。
引脚介绍 (COM口比较多pin,但是常用的也是这几个):
VCC: 供电pin,一般是3.3v,在我们的板子上没有过电保护,这个pin一般不接更安全
GND: 接地pin,有的时候rx接受数据有问题,就要接上这个pin,一般也可不接
RX: 接收数据pin
TX: 发送数据pin,我之前碰到串口只能收数据,不能发数据问题,经baidu,原来是设置了流控制,取消就可以了,适用于putty,SecureCRT
总结
1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。
2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。
3、PL2303、CP2102芯片是 USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电平)
4、MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL。
5、TTL标准是低电平为0,高电平为1(+5V电平)。RS-232标准是正电平为0,负电平为1(±15V电平)。
6、RS-485与RS-232类似,但是采用差分信号负逻辑。这里略过不讲。
百度上这个文章总结的不错:
串口、COM口、TTL、RS-232、RS-485区别详解
其他
奇校验 (odd parity):如果字符数据位中"1"的数目是偶数,校验位为"1",如果"1"的数目是奇数,校验位应为"0"。(校验位调整个数)
偶校验 (even parity):如果字符数据位中"1"的数目是偶数,则校验位应为"0",如果是奇数则为"1"。(校验位调整个数)
串口进行通信的方式有两种:同步通信方式和异步通信方式
SPI(Serial Peripheral Interface:串行外设接口);
I2C(INTER IC BUS:意为IC之间总线),一(host)对多,以字节为单位发送。
UART(Universal Asynchronous Receiver Transmitter:通用异步收发器), 一对一,以位为单位发送。
UART和串口到底有什么区别?
串口通常做为RS232C的代名词,电平范围要求是:1:-12V~-6V,0:6V~12V;
UART指CPU带的串行端口,电平为,1:5V,0:0V。
两者之间的电平转换可以用RS232,或MAX232
UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。
UART是计算机中串行通信端口的关键部分。
在计算机中,UART相连于产生兼容RS232规范信号的电路。
RS232标准定义逻辑“1”信号相对于地为-3到-15伏,而逻辑“0”相对于地为3到15伏。
所以,当一个微控制器中的UART相连于PC时,它需要一个RS232驱动器来转换电平。
Uart这里指的是TTL电平的串口;RS232指的是RS232电平的串口。
uart串口线长多少会异常
超过15cm会异常。uart串口在接收数据时,长度过长会影响数据的传输速度。uart串口线的作用是将由计算机内部传送过来的并行数据转换为输出的串行数据流。
