En la página de inicio de arduino, dice acerca de la comunicación utilizando ArduinoMega256
El Arduino Mega2560 tiene una serie de instalaciones para comunicarse con una computadora, otro Arduino u otros microcontroladores. El ATmega2560 proporciona cuatro UART de hardware para la comunicación serie TTL (5V). Un ATmega16U2 (ATmega 8U2 en las placas de revisión 1 y revisión 2) en la placa canaliza uno de estos a través de USB y proporciona un puerto virtual para el software en la computadora (las máquinas Windows necesitarán un archivo .inf, pero las máquinas OSX y Linux reconozca la placa como un puerto COM automáticamente. El software Arduino incluye un monitor en serie que permite enviar datos textuales simples hacia y desde la placa. Los LED de RX y TX en la placa parpadearán cuando se transmitan datos a través de ATmega8U2 / ATmega16U2 Conexión de chip y USB a la computadora (pero no para comunicación en serie en los pines 0 y 1). Una biblioteca de SoftwareSerial permite la comunicación en serie en cualquiera de los pines digitales del Mega2560. El ATmega2560 también admite la comunicación TWI y SPI. El software Arduino incluye una biblioteca Wire para simplificar el uso del bus TWI; Consulte la documentación para más detalles. Para la comunicación SPI, use la biblioteca SPI.
Entonces, hay un segundo chip ATmega16U2 en la placa que canaliza RX0 / TX0 a un puerto COM a través de usb a mi computadora. Entonces, un cable es para recibir y otro para enviar al puerto COM. Por lo tanto, cualquier software que escribo o que haya sido escrito para las conversaciones de Arduino a través de este puerto COM a una cierta velocidad de baudios y esta es la única forma en que Arduino y una computadora pueden interactuar a través de usb. ¿Es esto correcto?
En consecuencia, si quiero conectar mi arduino a un determinado software con una interfaz conocida, ¿debo programar una pieza de conexión entre el puerto COM y dicha interfaz?