单片机串口学习

站在巨人的肩膀:https://blog.csdn.net/qq_38410730/article/details/79887200

串口通信:按位传输数据的串行通信方式,串口通信中通常使用的是异步串口通信,即没有时钟线,所以两个设备要通信,需要设置波特率相同(115200\9600)

1、串口通信物理层:

在串口通信中通常 PC 机的 DB9 为公头,单片机上使用的串口 DB9 为母头,通过一根直通串口线进行相连。

PC1 PC2
RXD TXD
TXD RXD

2、串口通信协议层:

通信标准:RS-232、RS-485等;

以RS-232为例:

RS232 的通信协议比较简单,通常遵循 96-N-8-1 格式。

“96”表示的是通信波特率为 9600。串口通信中通常使用的是异步串口通信,既没有时钟线,所以两个设备要通信,必须要保持一致的波特率,当然,波特率常用值还有 4800、115200 等。

“N”表示的是无校验位,由于串口通信相对更容易受到外部干扰导致传输数据出现偏差,可以在传输过程加上校验位来解决这个问题。校验方法有奇校验(odd)、偶校验(even)、 0 校验(space)、1 校验(mark)以及无校验(noparity)。

“8”表示的是数据位数为 8 位,其数据格式在前面介绍异步通信中已讲过。当然数据位数还可以为 5、6、7 位长度。

“1”表示的是 1 位停止位,串口通讯的一个数据包从起始信号开始,直到停止信号结束。数据包的起始信号由一个逻辑 0 的数据位表示,而数据包的停止信号可由 0.5、 1、 1.5 或 2 个逻辑 1 的数据位表示,只要双方约定一致即可

原文地址:https://www.cnblogs.com/zhouwalle/p/10725615.html

时间: 2024-10-27 00:41:00

单片机串口学习的相关文章

51单片机串口通信

一.原理简介 51 单片机内部有一个全双工串行接口.什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行:既可接收又可发送,但不能同时进行的称为半双工:能同时接收和发送的串行口称为全双工串行口.串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信.其缺点是传输速度较低. 与之前一样,首先我们来了解单片机串口相关的寄存器. SBUF 寄存器:它是两个在物理上独立的接收.发送缓冲器,可同时发送.接收数据,可通过指令对SBUF 的读写

【转】 51单片机中断学习

一.中断的概念    CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生):    CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务):    待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 二.中断源 在51单片机中有5个中断源 中断号          优先级                    中断源                    中断入口地址 0               1(最高)   

单片机串口通信技术

串口通信 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要.计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换. 通信有并行通信和串行通信两种方式.在多微机系统以及现代测控系统中信息的交换多采用串行通信方式. 并行通信通常是将数据字节的各位用多条数据线同时进行传送 ,如下图: 并行通信的特点: 并行通信控制简单.传输速度快: 由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难. 串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送,

ALL-51单片机ESP8266学习-AT指令(ESP8266作为TCP客户端,连接自己制作的TCP服务器)

从这一节开始,以视频加源码的形式,后期视频和程序将放在链接中 资料链接 链接:https://pan.baidu.com/s/10MxI8-Q33-M_R2WEHqEi1A 密码:j1sz 14节:    51单片机ESP8266学习-AT指令(ESP8266作为TCP客户端,连接自己制作的手机TCP服务器,互相通信) 视频链接: 15节:    51单片机ESP8266学习-AT指令(ESP8266作为TCP客户端,连接自己制作的电脑TCP服务器,互相通信) 视频链接: 16节:    51单

关于单片机串口通信的问题

最近在调板子的时候又遇到了单片机MCU检测不到的问题,之前百度了一堆驱动问题,已经可以正常烧写程序,但是昨天又写不了了,连单片机都检测不到,将驱动器的RxD与TxD短接,使用串口助手自己给自己发送数字,是可以接收到的,证明仿真器没有问题,交换驱动器与单片机的RxD与TxD,从顺接改为交叉连接,还是不行.后来在一哥们的指导下解决了该问题.然后发 现一个小小的串口通信其实门道很多,特别是对于对单片机不熟悉的初级选手是个不小的挑战,所以今天跟小伙伴们聊聊我的感受. 我的问题概而论之就是对于CH340驱

VS win32命令控制台程序与单片机串口数据传输

最近有个小的训练 大致是需要用摄像头检测圆,然后把圆的xy坐标发送给单片机. 但是网上大部分都是基于MFC串口控件的例程.大海捞针找到了个win32命令控制台的串口例程 ,自己改了一下贡献出来. 直接调用API实现串口通信 两个例程 如果编译运行有问题 直接复制源文件到新win32命令工程中运行 平台-VS2013-win32 例程1:摄像头识别小圆,然后通过串口输出小圆的xy坐标.单片机可以直接接受,具体串口配置自己配置.摄像头需要 opencv的库,我的库是opencv2.4.12. 例程2

Zigbee的串口学习

无论学习哪款 MUC 串口对于我们进行实验调试都是非常方便实用的,   我们可以把程序中涉及的某些中间量或者其他程序状态信息打印出来显示在电脑上进行调试,许多 MUC 和 PC 机通信都是通过串口来进行的.Zigbee也 不例外. USART 模式的操作具有下列特点: 1.8 位或者 9 位负载数据 2.奇校验.偶校验或者无奇偶校验 3.配置起始位和停止位电平 4.配置 LSB(最低有效位) 或者 MSB (最高有效位)首先传送 LSB(Least Significant Bit),意思为最低有

51单片机串口通信时的定时器设置的相关问题

51单片机在串口通信时需要有一个定时器去调节与计算机通信的波特率,而定时器设置时需要中断寄存器(IE), 定时器控制寄存器(TCON) ,还有T/C控制寄存器共同配合作用, 但在启动定时器功能时,这三个寄存器的配置顺序十分重要,因为在数据传输时的高速情况下,一点点的数据误差就会导致传输的数据出现错误.而在51单片机的串口通信时必须将配置TCON放在配置这三个寄存器的最后,因为在TCON中含有启动定时器的TR1和TR0位,若先启动后对工作方式和溢出率进行配置,就会导致启动时定时器根本无法像预先设定

单片机串口通讯RXD与TXD如何对接详解

http://blog.csdn.net/sdwuyulunbi/article/details/6632382 相信很多人都对单片机与计算机或者芯片通信时,RXD与TXD如何连接比较困惑.因为在一些电路图中,有的是直连接法,有的是交叉接法,让人有点摸不着头脑. 首先需要明白两个概念,就是DTE和DCE.DTE是指数据终端设备,典型的DTE就是计算机和单片机.DCE是指数据通信设备,典型的DCE就是MODEM.RS232串口标准中的RXD和TXD都是站在DTE立场上的,而不是DCE.明白了这一点