关于RS485配置的注意点

    之前用485进行与屏幕的通讯。(迪文屏。用485通讯开发效率比较高)。但是在配置的时候。会发现一些问题。

1、串口IO口配置

/* USART GPIO配置 */
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推完输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //浮空 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用模式

/* TX */
GPIO_InitStructure.GPIO_Pin = RS485_USART_TX_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //高速
GPIO_Init(RS485_USART_TX_GPIO_PORT, &GPIO_InitStructure);

/* RX */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Pin = RS485_USART_RX_PIN;

GPIO_Init(RS485_USART_RX_GPIO_PORT, &GPIO_InitStructure);

        /* 485控制引脚配置 */
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推完

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //浮空

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //输出

GPIO_InitStructure.GPIO_Pin = RS485_RE_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(RS485_RE_GPIO_PORT, &GPIO_InitStructure);


2、使能收发数据先后。必须加延迟,等待数据处理完成


3 发送数据后,也加一点延迟在使能接收数据。不然数据可能会错乱


总之,485和232除了电平不一样之外,其他的配置基本是一样的。难点不在配置,在于你收发的使用。加上通讯协议之后的处理。比如MODBUS.。不过在一定的程度后,可以去了解了解它的其他特性,毕竟。一开始会使用可能只是为了应付工作,但是人要一定的程度,想提升还是得深入的。



你可能感兴趣的:(关于RS485配置的注意点)