常用串口通信-2(RS485)

常用串口通信-2(RS485)

1.RS485

RS485是RS422A的变型,区别是RS485可用于半双工通信。两线通信,最多可使用32对查分驱动器/接收器。抗干扰性好,传输距离远(1200米),传输速率达1Mbps。更多介绍请看上一篇常用串口通信-1

2.单片机与PC通信

单片机通过MAX485芯片实现RS485/TTL电平转换
PC通过RS-232C/RS485转换器

PC(上位机) 单片机(下位机) 发送 接收 PC(上位机) 单片机(下位机)

单片机MAX485引脚:DIR、TXD、RXD
DIR用来控制收发,为高电平时发送,低电平接收

2.1通信过程

  1. PC端串口通信助手发送数据
  2. 单片机DIR设置0,在接收状态
  3. 单片机SBUF接收PC过来的数据进行存储
  4. 清除中断标志位
  5. 延时1毫秒
  6. 单片机DIR设置1,在发送状态
  7. 单片机从SBUF发送返回到PC
  8. 单片机DIR设置0,恢复到接收状态

3.程序编写

单片机P3.0 / P3.1引脚作为TXD / RXD串口,P1.0引脚作为DIR控制接收还是发送。

sbit  RS485DIR = P1^0;//定义P1.0引脚
void delay(u16 i){
	while(i--);
}
//串口初始化函数
void UsartInint(){
	TMOD=0x20;  //0010 0000
	TH1=0XF3;   //1111 0011
	TL1=0XF3;   //1111 0011
	PCON=0X80;  //1000 0000
	TR1=1; 		//打开TCON的T1定时器
	SCON=0X50;  //0101 0000
	ES=1; 		//打开串口中断
	EA=1;		//打开总中断
	RS485DIR  = 0//初始低电平接收状态
}

解释以上代码:
与前一篇内容同理,做相应的设置,在这里增加一个DIR引脚的设置,RS485DIR = 0;//初始低电平接收状态

//串口中断函数
void Usart() interrupt 4
{
	u8 receiveData;
	receiveData=SBUF;
	RI=0;
	
	delay(100);	   //增加代码
	RS485DIR  = 1//增加代码
	
	SBUF=receiveData;
	while (!TI);
	TI=0;

	RS485DIR  = 0//增加代码
}

解释以上代码:
与前一篇内容同理,在这里增加一个DIR引脚的高低电平来控制收发状态。

4.通信效果

PC端串口通信助手发送数据,单片机收到后就会返回这些数据。
在这里插入图片描述
这是单字节发送,需要多字节发送就要在中断函数中做数据处理。

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 常用通信接口一(串口RS232、RS485、USB、type-c)原理与区别.pdf 是一份关于常用通信接口的文档。下面是对其中提到的接口的原理和区别的解释: 1. 串口串口是一种基于传统的串行通信方式,通过一根数据线进行数据的传输。它使用一个线路将数据逐位传输,传输速率较慢,能够实现简单的数据传输功能。 2. RS232:RS232是串口接口的标准规范之一,使用较长的线路长度(最多15米),适用于局域网和远程终端的通信。它使用负电平表示逻辑1,正电平表示逻辑0。 3. RS485:RS485也是串口接口的一种标准规范,与RS232相比,RS485使用差分信号传输方式,可以实现更长的通信距离(最多1.2公里),更高的传输速率和更多的节点连接。 4. USB:USB (Universal Serial Bus) 是一种通用的高速串行总线接口,用于连接计算机和外部设备。它能够支持高速数据传输和热插拔功能,同时提供电源供给,适用于多种设备的连接。 5. Type-C:Type-C是一种新型的接口标准,相较于传统的USB接口,Type-C接口具有更小的尺寸、可逆插拔、支持更高的数据传输速率和更高的电源功率输出。它可以同时支持数据传输、视频输出和充电功能。 这些通信接口在应用上有一些区别。串口常用于与简单外设的连接,在工控领域和一些旧型设备中广泛应用。RS232和RS485适用于需要长距离传输和多节点连接的场景。USB接口多用于计算机与外部设备之间的数据传输和连接,而Type-C接口则作为一种新兴的接口标准,提供更多的功能和灵活性。 总之,这些通信接口各有其特点和应用场景,在选择时需要根据具体需求来进行选择。 ### 回答2: 常用通信接口一(串口RS232、RS485、USB、Type-C)是一份关于通信接口的文档,主要介绍了串口RS232、RS485、USB和Type-C的原理和区别。 首先,串口通信是计算机与外部设备进行数据交换的一种通信方式。它通过串行发送数据,一次发送一个位的方式进行通信串口通常有几个引脚,包括数据引脚和控制引脚。它的传输速度相对较慢,适用于长距离通信RS232和RS485是两种常用串口通信标准。RS232是一种单工通信标准,只能单向传输数据。它使用DB9连接器,传输距离较短。RS485是一种全双工通信标准,可以双向传输数据。它使用多个信号线进行通信,传输距离较长,适用于多节点通信。 USB(通用串行总线)是一种用于连接计算机与外部设备的通信接口。它通过主机和设备之间的数据交换来实现通信。USB接口有多个版本,包括USB1.0、USB2.0和USB3.0,各版本的传输速度和功能有所不同。 Type-C是一种新型的USB接口标准,它具有倒插特性,可以方便地连接设备。Type-C接口支持更高的数据传输速度和电能传输能力,可以同时传输音频、视频和数据信号。 总结来说,串口是一种传输速度较慢的通信接口,适用于长距离通信RS232和RS485是串口通信的两种标准,RS232是单工通信RS485是全双工通信。USB是一种用于连接计算机与外部设备的通信接口,有多个版本。Type-C是一种新型的USB接口标准,具有倒插特性和更高的传输速度。 ### 回答3: 通信接口是不同设备之间进行数据传输的物理连接和协议,常用通信接口包括串口RS232、RS485、USB和Type-C。以下是对这些接口的原理和区别的简要介绍: 串口是一种最传统的通信接口,它通过物理线路将数据以串行的方式进行传输。串口使用简单、成本低廉,但传输速度较慢。 RS232是一种基于串口通信接口标准,它规定了串行通信的电气特性和数据格式。RS232适用于较短距离的点对点通信,传输速率一般较低,最多可达到115.2kbps。 RS485是一种多点通信接口标准,它可以连接多个设备进行通信RS485使用差分信号传输数据,在传输距离较长(最多1200米)和数据传输速率较高(最多10Mbps)的应用中具有优势。 USB(Universal Serial Bus)是一种广泛应用于计算机和外部设备之间的通信标准。USB接口可以同时传输数据和提供电力,支持热插拔和高速传输。 Type-C是一种新兴的通信接口标准,它具有可逆插拔、扁平设计和高传输速度等特点。Type-C接口支持多种传输协议,如USB、DisplayPort和Thunderbolt等,能够实现多种设备之间的兼容和互联。 总结起来,串口RS232、RS485、USB和Type-C都是常用通信接口,它们在传输距离、传输速度、连接方式和应用领域等方面有所不同。根据实际需求,选择合适的通信接口可以提高设备之间的数据传输效率和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值