Yes you can use the serial ports for RS485. You will need a UART to RS485 IC to get the correct voltages. RS485 is a half duplex standard and therefore has to have a directional pin. This pin can be selected to be any of the GPIO pins of the Beaglebone Black. Use the UART cape in the device tree overly to enable the serial port and then pass the RS485 stucture along with the termios information to setup the port. The structure can be found in serial.h. If you are planning to use the Modbus protocol over the RS485 network then you need to make a slight change to the libmodbus source code. In the file modbus-rtu.c there is a function called modbus_rtu_set_serial_mode. In the passing argument for the function include an additional variable int GPIO for the directional pin. In the firs if statement change the code so that it will now pass the structure of the RS485 to the port along with the directional pin. Note that you are using the patched serial.h that comes with the Debian Image for the Beaglebone Black and not the serial.h that comes as standard with Debian. After this setup the normal reading and writing functions of the Modbus library can be used On Wednesday, November 2, 2011 9:59:05 PM UTC+2, IƱaki Zuloaga Izaguirre wrote: > > I have been reading the documentation for the TI microprocessors and I > haven't been able to figure out if the serial ports can be used for > RS485. It seems to me that there is no integrated support for RS485 > Transmit enable generation, has anybody tried this? You can always > control the enable with a digital output, but it is very difficult to > accurately disable the Transmit enable after transmission ends. > Microprocessors from other companies like the AT91SAM9260 and LPC1768 > directly support handling the RS485 enable.
-- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
