串口通信基础

串口可以说是我们C51单片机中最重要的部分,没有之一,如果串口学明白了,你的51基本可以说是毕业了。

在讲串口之前我们先介绍一下通信,想我们日生活中的蓝耳机,电话等都是通过通信进行的,而我们讲keil中写好的hex文件烧录给板子,也是通过通信进行。

一、工作原理

我们的计算机在与板子进行沟通时,其实就跟我们日常人与人之间说话是一样的。

人和人之间说话用英文,中文,而中文还分为普通话和方言。那我们为了正常交流,就得统一语言。我们的计算机如果想控制单片机,就得统一通信。其时我们写的C语言代码,就是一种语言,但这种语言,只有计算机能听懂,单片机无法识别。而我们的单片机能听懂的语言是一个一个的数据(也就是hex文件)。所以为了让它俩能够正常交流,中途就得带一个翻译。

那这个翻译我们就称为通信

二、通信原理

通信分为串行通信和并行通信。可以理解为电路上的串联和并联。

并行:多个数据一起传输。

如上图所示,如果我们想同一时刻控制8个LED灯,那我们就可以通过并行通信,传一个数据(比如说0x6D),即可控制。

串行:一个数据接一个数据传输

比如同样是控制8个LED灯,我们就得一个一个控制灯的亮与灭。

对比上述2种通信传输,各有优缺点,具体可参照下图(百度百科)。

串行通信对于远距离传输可以大大节约成本,这使得其在日常生活中越来越广范使用,所以下面,我们将重点介绍串行通信。

   交流                            设备

我说——>你听               接收

你说——>我听               发送

内容:大脑支配              CPU

语言:双方统一              协议

通信协议

通信协议分为硬件层协议,软件层协议。

硬件层协议 可以理解为我们人与人交流时的耳朵,嘴巴。对应的就是我们计算机的USB接口(USB我们当前阶段最为常用,其实还有其他接口,这里就不介绍了)。除了物理上的连线,我们还有电平信号,传输秩序等。比如 iic,UART,SPI等,之后我们都会介绍。

软件层协议 就比较侧重于上层,更高级的应用。比如modbus协议,由于较为高级,就不介绍了。

总之:硬件与软件相辅相成。

三、翻译环节

我们的计算机是通过USB接口与单片机相连,而单片机是TXD和RXD这2个引脚(UART,后续会重点介绍)。不难发现两边的协议没有统一。那这时候就跟人与人说话一样,需要一个翻译。

那这个翻译就是CH340

通过上图CH340那部分在电路中的功能,就可以把数据传输到RX和TX这2个引脚上了,就能够解读计算机的代码含义了。

四、总结

本节虽然无代码示例,但也格外重要,就跟我开头所说,我们前面所讲的定时器,计数器,中断,都可以理解为:为串口做铺垫。

本节重难点:理解计算机与单片机之间如何“沟通交流”

  • 23
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值