Pour autant que je sache, la transmission SPI pour un esclave SPI fonctionne comme ci-dessous:
- Le maître sélectionne un esclave à l'aide de la broche SS
- Le maître et l'esclave s'envoient des données simultanément
- Le maître démarre l'horloge et la transmission de données en même temps (il n'y a pas d'horloge avant l'opération d'écriture)
- Le maître arrête la transmission à tout moment (en arrêtant l'opération d'écriture et la génération d'horloge), même si l'esclave a plus de données à envoyer.
Existe-t-il une configuration d'esclave SPI qui permet à l'esclave de transmettre des données sans l'autorisation du maître?
Je pense juste à haute voix. Supposons qu'il n'y ait qu'un seul esclave et qu'une horloge continue soit fournie par le maître, etc.
Même si la déclaration supposée est vraie, le maître et l'esclave ne perdent-ils pas la synchronisation des octets (c'est-à-dire qu'ils reçoivent le flux binaire) car il n'y a pas de bits start-stop pour SPI?
Je pose une telle question parce que j'ai lu la section suivante de ce document .
2.2 Exemple SPI
L'exemple SPI ci-joint illustre l'utilisation de l'USART en mode synchrone. USART1 est configuré comme esclave, tandis que USART2 est maître. Les transactions suivantes ont lieu:
- Transmission des données du maître à l'esclave.
- Transmission des données de l'esclave au maître.
- Transmission de données du maître à l'esclave et de l'esclave au maître simultanément.
Le document donne un exemple SPI mais réalise l'exemple en utilisant des appareils USART. Et je comprends qu'un esclave USART peut démarrer une transmission sans l'autorisation du maître.
Je n'ai pas pu trouver le code source référencé par le document.