olsndot/tests/usb-serial-rs485
Karl Palsson c0ec94e4c9 ubs-serial-rs485: First solidly working version.
Needs major refactoring to split out the _actual_ arch dependent pieces.
Needs parity and more complete baud rate support.
Needs rs485 support.
2016-09-26 22:04:02 +00:00
..
main-stm32f4-disco.c ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00
Makefile.stm32f4-disco ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00
README ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00
ringb.c ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00
ringb.h ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00
syscfg.h ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00
usb_cdcacm-arch.c ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00
usb_cdcacm.c ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00
usb_cdcacm.h ubs-serial-rs485: First solidly working version. 2016-09-26 22:04:02 +00:00

------------------------------------------------------------------------------
README
------------------------------------------------------------------------------

This implements a USB CDC-ACM device, connected to USART2 (PA2-tx/PA3-rx)
An interrupt driven tx ring buffer is used for usb->serial, and a similar
interrupt driven rx ring buffer is used for serial->usb.
Baud rates from 2400-460800 are tested with zmodem transfers in both directions.

Parity not yet finished, and baudrates below 1200 need fiddling with clock prescalers.
When it's finished, rs485 support should be available via the TC interrupt.

A GPIO is toggled around USART transmissions to control an RS485 line
transceiver, following ST's app note. The RS485 driver enable line is,
by default, just the onboard red LEDs.

The orange/blue LEDs indicate tx/rx activity, but especially for the rx line,
you won't really see it without heavy data rates.

This example is heavily based on the existing usb_cdcacm and usart demos.