

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.

# Comprenda la IO común de FreeRTOS APIs
<a name="freertos-common-io"></a>

Las E/S comunes APIs actúan como capas de abstracción de hardware (HAL) que proporcionan una interfaz común entre los controladores y el código de aplicación de nivel superior. FreeRTOS Common IO proporciona un conjunto de estándares APIs para acceder a dispositivos serie comunes en placas de referencia compatibles; sus implementaciones APIs no están incluidas. Estos periféricos APIs se comunican e interactúan con ellos 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.

**nota**  
FreeRTOS no requiere implementaciones del Common IO APIs para funcionar, pero intentará utilizar el Common IO APIs como una forma de interactuar con los periféricos específicos de una placa basada en un microcontrolador en lugar de hacerlo con los específicos del proveedor. APIs

En general, los controladores de dispositivo son independientes del sistema operativo subyacente y son específicos de una configuración de hardware determinada. 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 para acceder APIs a varios controladores de dispositivos a través de varias placas de referencia basadas en microcontroladores (MCU).

## Bibliotecas
<a name="freertos-common-io-libraries"></a>

Actualmente, FreeRTOS proporciona dos bibliotecas de E/S comunes: E/S común (básica) y E/S común (BLE).

### E/S común: básica
<a name="freertos-common-io-libraries-basic"></a>

*Descripción general de *  
[Common IO: basic](https://aws.github.io/common-io-basic/) proporciona información APIs sobre I/O los periféricos y funciones básicos que se encuentran en las placas basadas en MCU. El repositorio Common IO: basic está disponible en. [GitHub](https://github.com/aws/common-io-basic) 

*Periféricos admitidos*  
+ ADC
+ GPIO
+ I2C
+ PWM
+ SPI
+ UART
+ Watchdog
+ Flash
+ RTC
+ EFUSE
+ Restablecimientos
+ I2S
+ Contador de rendimiento
+ Información sobre la plataforma de hardware

*Características admitidas*  
+ Lectura y escritura sincrónicas

  La función no regresa hasta que se transfiere la cantidad de datos solicitada.
+ Lectura y escritura asincrónicas

  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.

*Referencia de la API*  
Para obtener una referencia completa sobre la API, consulte la [referencia sobre la API E/S común - Básica](https://aws.github.io/common-io-basic/).

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

*Descripción general de *  
E/S común: BLE proporciona una abstracción de la pila de Bluetooth de bajo consumo del fabricante. Proporciona las siguientes interfaces que se pueden utilizar para controlar el dispositivo y realizar operaciones GAP y GATT. El repositorio Common IO - BLE está disponible en [ GitHub](https://github.com/aws/common-io-ble). 

*Administrador de dispositivos Bluetooth:*  
Proporciona una interfaz para controlar el dispositivo Bluetooth, realizar operaciones de detección de dispositivos y otras tareas relacionadas con la conectividad.

*Administrador de adaptadores BLE:*  
Proporciona una interfaz para las funciones de la API de GAP que son específicas de BLE.

*Administrador de adaptadores Bluetooth clásico:*  
Proporciona una interfaz para controlar las funcionalidades de BT clásico de un dispositivo.

*Servidor de GATT:*  
Proporciona una interfaz para utilizar la característica de servidor GATT de Bluetooth.

*Cliente de GATT:*  
Proporciona una interfaz para utilizar la característica de cliente de GATT de Bluetooth.

*Interfaz de conexión A2DP:*  
Proporciona una interfaz para el perfil de fuente A2DP del dispositivo local.

*Referencia de la API*  
Para obtener una referencia completa sobre la API, consulte la [referencia sobre la API E/S común - BLE](https://aws.github.io/common-io-ble/).

## E/S común para software común de Amazon
<a name="freertos-common-io-acs"></a>

Los Common IO APIs forman parte de las implementaciones requeridas que [Amazon Common Software for Devices necesita, específicamente para](https://developer.amazon.com/acs-devices) implementarse en un kit de portabilidad de dispositivos (DPK) de un proveedor.

### ¿Qué es ACS?
<a name="freertos-common-io-acs-what"></a>

Amazon Common Software (ACS) para dispositivos es un software que agiliza la integración de Amazon Device SDKs en sus dispositivos. ACS proporciona una capa de integración de API unificada, componentes previamente validados y con uso eficiente de la memoria para funciones comunes como la conectividad, un kit de portabilidad de dispositivos (DPK) y conjuntos de pruebas de varios niveles.

### Programa de calificación
<a name="freertos-common-io-acs-qualification"></a>

El programa de calificación [Amazon Common Software para dispositivos](https://developer.amazon.com/acs-devices) verifica que una versión del DPK (kit de portabilidad de dispositivos) de ACS que se ejecuta en una placa de desarrollo específica basada en un microcontrolador sea compatible con las prácticas recomendadas publicadas por el programa y lo suficientemente sólida como para superar las pruebas exigidas por ACS especificadas en el programa de calificación.

Los proveedores que cumplen los requisitos de este programa figuran en la página de [proveedores de chipsets de ACS](https://developer.amazon.com/avs-silicon-vendors).

Para obtener más información sobre la calificación, consulte [ACS para dispositivos](https://developer.amazon.com/acs-devices).