

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# E/S común
<a name="common-io"></a>

**importante**  <a name="deprecation-message-library"></a>
Esta biblioteca está alojada en el repositorio de Amazon-FreeRTOS, que está en desuso. Recomendamos [empezar por aquí](freertos-getting-started-modular.md) al crear un nuevo proyecto. Si ya tiene un proyecto FreeRTOS existente basado en el repositorio Amazon FreeRTOS, ahora obsoleto, consulte [Guía de migración del repositorio Github de Amazon-FreeRTOS](github-repo-migration.md).

**Información general**

En general, los controladores de dispositivo son independientes del sistema operativo subyacente y son específicos de una configuración de hardware determinada. Una capa de abstracción de hardware (HAL) proporciona una interfaz común entre controladores y código de aplicación de nivel superior. La capa HAL abstrae los detalles de cómo funciona un controlador específico y proporciona una API uniforme para controlar dichos dispositivos. Puede utilizarla APIs para acceder a varios controladores de dispositivos a través de varias placas de referencia basadas en microcontroladores (MCU).

La [E/S común](https://docs.aws.amazon.com/freertos/latest/lib-ref/common-io/index.html) de FreeRTOS actúa como esta capa de abstracción de hardware. Proporciona un conjunto de estándares APIs para acceder a los dispositivos serie más comunes en las placas de referencia compatibles. Estos elementos comunes APIs se comunican e interactúan con estos periféricos y permiten que el código funcione en todas las plataformas. Sin E/S común, el código para dispositivos de bajo nivel es específico del proveedor de hardware.

**Periféricos admitidos**
+ UART
+ SPI
+ I2C

**Características admitidas**
+ Sincrónico read/write : la función no regresa hasta que se transfiere la cantidad de datos solicitada. 
+ Lectura y escritura asíncronas: la función regresa inmediatamente y la transferencia de datos se realiza de forma asíncrona. Cuando se completa la acción, se invoca una devolución de llamada de usuario registrado.

**Código específico del periférico**
+ I2C: combina varias operaciones en una sola transacción. Se utiliza para acciones de escritura y luego lectura en una sola transacción. 
+ SPI: transfiere datos entre la principal y secundaria, lo que significa que la escritura y la lectura se realizan simultáneamente.

**Portabilidad**

Para obtener más información, consulte la [ Guía de portabilidad de FreeRTOS](https://docs.aws.amazon.com/freertos/latest/portingguide/).