Drivers Capteur SHT2x datasheet du SHT21 eepj / SHT2x_for_STM32_HAL → librairie HAL pour un capteur SHT2x (SHT20 ou SHT21) Accéléromètre ADXL375 Généralités L’ADXL375 est un accéléromètre 3 axes, basse consommation qui peut mesurer des chocs jusqu’à ±200g. Il délivre des valeurs sur 16 bits en complément à 2 et est interfaçable soit en I2C soit en SPI. Il peut délivrer sur 2 broches (→ INT1 et INT2) jusqu’à 8 sources d’interruption (présence ou absence de mouvement, détection de simple ou double “tapotement”…) Références datasheet de l’ADXL375 ADXL345 – The Universal Accelerometer – Part 1 et ADXL345 – The Universal Accelerometer – Part 2 → article en 2 parties qui détaille le fonctionnement de l’ADXL345 et d’une librairie écrite par l’auteur (dépôt wollewald/ADXL345_WE sur Github ) Bonne base de développement pour coder le driver STM32. xrl/ADXL325 accelero → Morceau de code (gist) plutôt bien commenté qui exploite l’ADXL325 sous l’IDE Arduino. Câblage Exemple de câblage I2C avec une carte Nucleo F411RE : Fichier Fritzing Exemple de câblage SPI avec une carte Nucleo F411RE Fichier Fritzing Si plusieurs composants sont présents sur le bus SPI du micro-contrôleur, veiller à suivre les recommandations données dans le § “Preventing Bus Traffic Errors” dans la datasheet du ADXL375 Ces exemples de câblages sont aussi valables pour une carte Nucleo U575 si on utilise le connecteur ZIO. Dans ce cas, bien se référer aux instructions mentionnées dans le § “6.14 - ZIO Connectors” de UM1974 - STM32 Nucleo-144 boards (MB1137) - User manual . Périphériques internes Ressources générales STM32 tutorials → ensemble de tutoriels sur le STM32 proposés par Laurent Letorre (Polytech Montpellier) Contrôleur d’interruption Micro-contrôleurs STM32 → playlist YouTube et en français de Gwendal Levaillant (école ISIB) consacrée au STM32 et plus particulièrement à la gestion des interruptions Horloge temps réel (→ RTC) La RTC dispose d’un mécanisme qui empêche les incohérences lors de la lecture de l’heure et de la date. Ainsi, lorsque le mécanisme est actif (→ BYPSHAD=1 dans le registre RTC_CR) une lecture de l’heure doit obligatoirement être suivie d’une lecture de la date. Sinon, le registre contenant l’heure (→ RTC_TR) n’est plus mis à jour donnant ainsi l’impression que la RTC ne fonctionne pas. Voir RTC seemingly does not run pour plus de détails. Internal RTC in STM32 → tutoriel (article + vidéo) qui utilise la librairie HAL pour accéder à la RTC RTC & Watchdog → tutoriel de mise en œuvre de la RTC parmi un ensemble d’articles consacrés au STM32 sur le site de Laurent Latorre (Polytech Montpellier) Bare-metal RTC Driver for STM32F411CEx et embeddedalpha / STM32F411CEU6 → article et dépôt Github associé qui propose une implémentation de driver pour la RTC interne du STM32 Interface SDIO STM32 – Creating a File System on a SD card → Vidéo montrant la configuration d’un STM32 sur CubeMX pour mettre en oeuvre le bus SDIO pour écrire un fichier sur une SD card La procédure détaillée dans cette vidéo a été testée avec succès sur la Nucleo F411RE. La capacité de la SD card utilisée pour le test était de 16Go donc supérieure à la capacité max. théorique d’un système FAT (→ 4Go) Dans le code fourni, on peut se passer de l’étape de création du système de fichier (→ f_mkfs()). Dans ce cas il suffit de formater la SD card au préalable sur un PC avec le format FATFS32 (⇐ sur Windows, impossible de formater en FAT si la SD Card est supérieure à 4Go sauf si cette dernière est partitionnée mais, dans ce cas, il faut déterminer si le middleware FAT du STM32 sait prendre en compte le partionnement) 🞄 🞄 🞄 APIs Site Web