1、串口通信简介
串口通信指串口按位(bit)发送和接收字节,串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线 接收数据。它很简单并且能够实现远距离通信。比如ieee488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2 米;而对于串口而言,长度可达1200米。
串口通信所采用的通信协议为rs-232,rs-232通信方式允许简单连接三线:tx、rx和地线。但是对于数据传输,双方必须对数据定时采用使用相同的波特率。rs-232(ansi/eia-232标准)是ibm-pc及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者modem,同时也 可以接工业仪器仪表。用于驱动和连线的改进,实际应用中rs-232的传输长度或者速度常常超过标准的值。rs-232只限于pc串口和设备间点对点的通信。
2、串口的通信基本模型如下图所示:
txd:发送数据
rxd:接收数据
gnd:地线
串口驱动跟其他外设的驱动配置流程差不多,大概分为如下几步:
(1)查看电路图,配置相应的gpio功能引脚
(2)配置串口控制器的相应寄存器
(3)测试串口接收、发送
今天用的是第一个串口com0,下面是电路图:
找到相应的gpio功能引脚
下面是串口工作的整个模式图:
下面是串口控制器相应的寄存器:
今天我们实验用到的几个主要的寄存器是:
ulcon0:数据格式控制寄存器(配置数据位,停止位,校验位等);
ucon0:串口控制开关
utxh0:发送数据
urxh0:接收数据
utrstat0:数据收发状态寄存器
ubrdiv0,ufracval0:配置波特率的
下面是uart所需要的工作得时钟频率,以及比特率计算公式:
经过计算uart所采用的sclk_uart为100m
ubrdiv0=(100000000)/(115200 x16) - 1 = 53.3=53=0x35;
ufracval0= 4;
德媒:芯片之争,中国绝非无能为力
华为卖的是物联网生态!你却说其华而不实!
PEX8716 PCIe芯片Broadcom
用在音频线上的磁环有什么作用?
全球智能家居市场突破1000亿美元,2023年增长至1570亿美元
串口驱动配置流程及电路图设计
区块链的新型数据库将如何存储比特币的交易
第十届中国国际警用装备博览会在北京国家会议中心圆满落幕
无局放串联谐振试验装置原理
华为任正非:向上捅破天,向下扎到根
英伟达斥资预购HBM3内存,为H200及超级芯片储备产能
深度解析名爵锐腾四驱系统
Ambarella推出AI域控制器SoC系列,AMD Instinct扩大生态系统
OpenAI与多家媒体商谈内容授权,苹果也加入竞争
半导体缺货厂商涨价消费者买单
光电导效应名词解释_光电导效应的应用
大数据时代有助于推动大数据资源开放共享和基层治理体系协调发展
基于PWM的智能无线LED调色系统的设计与实现
谷歌开源Pigweed用来提升嵌入式的开发效率
车载射频高速连接器与众不同在哪里?