Share via


Fournisseurs de bus

Windows dispose d’API UWP in-box qui fournissent un accès direct aux bus GPIO, SPI ou I2C. Cela permet d’accéder très facilement à ce matériel à partir d’une API de haut niveau. Toutefois, il arrive souvent qu’un fabricant d’appareils souhaite utiliser un contrôleur Hors-SoC pour accéder à un bus. Il peut être aussi simple qu’une puce bon marché qui ajoute 16 broches GPIO, ou aussi riche qu’un MCU complet qui ajoute non seulement des broches GPIO, SPI et I2C, mais prend également en charge PWM et ADC. Avec le modèle « Fournisseur de bus », nous donnons aux développeurs la possibilité d’accéder à ces bus off-SoC à l’aide des API in-box, à l’aide d’un fournisseur en mode utilisateur qui comble l’écart.

Quelqu’un qui crée un fournisseur implémente un ensemble d’interfaces dans une bibliothèque de classes UWP, puis tout développeur qui souhaite communiquer avec ce matériel inclut simplement le composant et en informe les API intégrées. Si vous examinez l’exemple de code du fournisseur distant , vous pouvez voir à quel point il est facile de configurer le fournisseur et, une fois défini comme fournisseur par défaut pour cette application, le reste du code dans l’application cliente est identique au code requis pour accéder à un bus sur SoC.

Providers.Provider.Configuration =
    new Providers.ConnectionConfiguration("VID_2341", "PID_0043", 57600);
Windows.Devices.LowLevelDevicesController.DefaultProvider =  new Providers.Provider();

gpioController = await GpioController.GetDefaultAsync();
i2cController = await I2cController.GetDefaultAsync();
adcController = await AdcController.GetDefaultAsync();
pwmController = await PwmController.GetDefaultAsync();

GpioPin pin = gpioController.OpenPin(LED_PIN, GpioSharingMode.Exclusive);`

Fournisseurs disponibles

Nous avons actuellement un certain nombre de fournisseurs disponibles sur le dépôt GitHub Des fournisseurs de bus. En plus du code du fournisseur, chaque fournisseur dispose d’un exemple de solution VS qui montre comment un client utiliserait ce fournisseur.

  • ADC

    • Ads1x15
    • Mcp3008
  • PWM

    • PCA9685
    • Simulé avec Gpio

En plus des fournisseurs qui vous donnent accès à du matériel réel, nous avons créé un fournisseur simulé qui agira comme s’il s’agissait d’un fournisseur aux capacités infinies et conçu pour vous permettre d’écrire et de déboguer vos applications sans avoir à les déployer au préalable sur un appareil opérationnel. Pour une expérience plus riche, vous pouvez la personnaliser pour simuler votre matériel réel. Par exemple : mise à jour du fournisseur I2c pour retourner le résultat « 75 » lorsque vous lui envoyez la commande pour une lecture de température sur un appareil avec l’adresse secondaire désignée.

Ressources supplémentaires

Des outils de bus supplémentaires, des exemples de codes, ainsi que la génération et les tests sur I2C, SPI, GPIO, MinComm/UART sont disponibles ici.

Reportez-vous aux API Windows Runtime (WinRT) et voici comment tirer parti des API des applications Win32.

Passer en revue les fournisseurs Windows Bus