I'm doing a project which involves receiving DMX 512 information on an ATXmegaA3u microcontroller. I've successfully implemented the protocol using the onboard USART of the microcontroller. Basically, 2 frame errors, then 512 valid bytes.
Regarding the hardware side, DMX is a differential signal protocol, so I have a DMX+ and DMX- which is the other signal inverted. I currently use only the DMX+ line of the 3 pin DMX connector and the ground connected directly to my USART pin on my microcontroller. It all works fine.
Regarding the question now: do I have to use a MAX485 type chip in front of my microcontroller? Or is the USART of the microcontroller doing exactly the same thing but onboard? If optional, what would the MAX485 chip provide that the microcontroller cannot do?