logo资料库

用户手册(RS485_UserManual_CN).pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
RS485 Board (3.3V/5V)用户手册 微雪电子 RS485 Board (3.3V/5V) 用户手册 1. 产品概述 RS485 是一种基于差分信号传送的串行通信链路层协议。它解决了 RS-232 协议传输距 离太近(15m)的缺陷,是工业上广泛采用的较长距离数据通信链路层协议。 由于它使用一对双绞线传送差分信号,属半双工通信,所以需要进行接收和发送状态 的转换。  功能简介: RS485 收发器  最大特点: 支持多种通信总线接口  典型应用: RS485 通信  主要资源: SP485 / MAX485,控制接口,通信总线接口 2. 硬件说明 2.1 芯片引脚功能 引脚 名称 说明 1 2 3 4 5 6 7 8 RO RE DE DI 接收器输出 Receiver Output 接收输出使能 Receiver Output Enable 低电平有效 Active LOW 发送输出使能 Driver Output Enable 高电平有效 Active HIGH 发送器输入 Driver Input GND 地 Ground Connection A B VCC 差分信号正向端 Driver Output/Receiver Input. Non-inverting 差分信号反向端 Driver Output/Receiver Input. Inverting 4.75V< VCC < 5.25V SP485/MAX485/SP3485/MAX3485 引脚 (顶视图) SP485 / MAX485 是 5V 的 RS485 收发器 SP3485 / MAX3485 是 3.3V 的 RS485 收发器 版本 V2.3,2015 年 1 月 20 日 1
RS485 Board (3.3V/5V)用户手册 微雪电子 2.2 模块功能说明 2.2.1 模块引脚说明 图 1. 模块顶视图 引脚符号 含义 VCC GND RO DI RSE A B 单片机的电源 VCC 单片机的电源 GND 接收数据端,TTL 电平,可以接单片机的 RX 发送数据端,TTL 电平,可以接单片机的 TX 高电平有效的发送允许,低电平有效的接收允许;普通 IO 口 控制就可以。 差分信号正向端 差分信号反向端 表 1. 模块引脚含义表 2.2.2 工作原理 RS485 芯片通常处于接收状态。 当要发送数据时: 1) 由程序控制 RSE 变为高电平。 2) UART 单元发送数据。 3) 程序等待发送完毕后,控制 RS485 芯片转换到接收状态。 4) 发送完毕的标志一般由 UART 的特定寄存器提供状态指示,程序需要 去查询。 2.3 示例程序 2.3.1 准备工作  RS485 模块两个  STM32 开发板两个(本手册用的是微雪电子的 Open103R 开发板,主 2 版本 V2.3,2015 年 1 月 20 日
RS485 Board (3.3V/5V)用户手册 微雪电子 控芯片是 STM32F103R)  线材若干 2.3.2 测试步骤 1) 根据下表,将模块的对应管脚分别接入到两块 Open103R 开发板上面。 RS485 模块引脚 Open103R 引脚 VCC GND RO DI VCC GND PA2 PA3 RSE 表 2. RS485 模块和 Open103R 引脚连接表 PA0 2) 连接 ULINK2 到其中一个 Open103R 开发板的 JTAG 接口,下载接收程 序 USART_accept。 3) 连接 ULINK2 到另一个 Open103R 开发板的 JTAG 接口,下载发送程序 USART_send。 4) 用杜邦线对应连接两个模块的 A、B 两个接口。(A 端连接另一个模块 的 A 端,B 连接另一个模块的 B 端) 注意:除了可以直接用杜邦线连接两个模块的 A 和 B 端之外,用户 也可以用 RJ11 普通电话线把两个模块连接起来,实现的效果是一样 的。 5) 上电之后,如果观察到两个板子的 LED 同时闪烁,则说明 RS485 通信 是成功的。 2.3.3 基本发送程序说明 int main(void) { unsigned char i; USART_Configuration(); //串口初始化 //LED(PC9、PC10、PC11、PC12)和模块 RSE 脚的初始化。 GPIO_Configuration(); GPIO_SetBits(GPIOA,GPIO_Pin_0);//PA0 设置为 1,也就是 RS485 模块 是发送模式。 while (1) { for(i=0;i<4;i++) { Delay(0x005fffff); //延时 printf("%c",table[i]); //串口发送数据;也就是 RS485 发送数 3 版本 V2.3,2015 年 1 月 20 日
RS485 Board (3.3V/5V)用户手册 微雪电子 据。 GPIO_Write(GPIOC,table[i]<<9); //LED 点亮; } } } 2.3.4 基本接收程序说明 int main(void) { USART_Configuration();//串口初始化 //LED(PC9、PC10、PC11,、PC12)和模块 RSE 脚的初始化 GPIO_Configuration(); NVIC_USART_Configuration();//串口中断初始化 GPIO_RSEetBits(GPIOA,GPIO_Pin_0); //PA0 设置为 0; 此时 RS485 模 块是接收模式。 while (1); } void USART2_IRQHandler(void) //串口接收响应中断函数, { if(USART_GetITStatus(USART2, USART_IT_RXNE) != RSEET) { USART_ClearITPendingBit(USART2,USART_IT_RXNE); //清除中断 USART_SendData(USART2, USART_ReceiveData(USART2));//串口发 送数据 GPIO_Write(GPIOC,USART_ReceiveData(USART2)<<9);// 把 接 收 到 的数据显示到 LED。 } } 2.3.5 实验现象 两个板子的 LED 同时显示相同的效果。 版本 V2.3,2015 年 1 月 20 日 4
分享到:
收藏