c语言模拟uart协议的收发

本文深入探讨UART协议,解析其全双工特性,解释波特率的概念,并通过实例说明UART的异步通信方式。通过代码示例展示UART数据的发送与接收过程,帮助读者更好地理解和应用UART协议。

这篇文章注重思想的讲解,理解下来肯定对uart协议有一个更深的认识。

uart协议,通常用在嵌入式设备之间的通信。像下面这样:

问题一:uart是全双工还是半双工?

你完全可以将两个设备想象成两个人,上图中的两条线想象成A和B的对话。A对B说话和B对A说话的一个场景。问大家一个问题,你对A说话的同时能不能听到A跟你说话?当然可以嘛。所以你在说话的同时还能接收到别人说的话,我们可以推出uart协议当然也是全双工协议,因为设备A在发送消息的同时还能接收设备B的消息。大家也可以简单记一下,如果某个通信协议使用两根线来作为数据线,那这个协议多半就是全双工协议。

问题二:波特率是个啥东西?

        这样说吧,人说话的正常频率是500~3000Hz(百度来的),你可以将波特率比做这个频率。

当你以正常说话频率跟A(是个正常人)说话的时候A能听到吗?当然能。

那如果一只蝙蝠跟A(是个正常人)说话A听得到吗?当然不能。

我又问,如果设备A以一个正常波特率跟设备B通信设备B能听到吗?如果设备B设置的波特率跟设备A设置的波特率几乎相等还是可以听到的,注意这两个波特率大小可以有差值。但是差值大了设备B肯定会听错设备A发送过来的信息,就好比一个人跟你说话,他用的说话频率比常人高,但是你还是可以将就听到,但是有很大可能你会听错。所以我们可以得出,设备A和设备B设

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值