NXP

LPC2387 RS485通信

2019-07-12 11:45发布

     最近一款基于LPC2387方案的产品要用到RS485通信,查了下datasheet,LPC2387的Uart没有内置RS485功能,故只能采用电平转化了。最后选择了MAX485和英联的UM3085,两款芯片管脚兼容,都能进行TTL和RS485转化。      因为采用半双工通信,所以用一个GPIO口同时控制DE和RE,某一刻只能是接收或发送。LPC2387的TXD1和RXD1分别和485的DI和RO连接。       //RS-485收发控制示意代码,和普通串口通信相比多了485芯片的发送/接收使能设置 #define RS485_DE_RE (0x01<<9) //GPIO P0.9控制DE,RE /********************************************* ****** 使能RS485发送 *********************************************/ void Enable_RS485_Tx(){ FIO0DIR |= RS485_DE_RE; //GPIO Dir Out FIO0SET = RS485_DE_RE; //P0.9输出高电平,DE为1,RE为0 } /********************************************* ****** 使能RS485接收 *********************************************/ void Enable_RS485_Rx(){ FIO0DIR |= RS485_DE_RE; //GPIO Dir Out FIO0CLR = RS485_DE_RE; //P0.9输出低电平,DE为0,RE为1 }