Bonjour à tous,
Dans le cadre d'un projet, j'ai réalisé 5 cartes électroniques composées d'un PIC16 et d'un transceiver RS485 (max3088).
Mon but est d'arriver à faire communiquer mon PC et les cartes. Pour cela, j'ai commencé à programmer mon UART en utilisant le mode "address detection", qui permet à plusieurs receveurs (dans mon cas les 5 cartes) de partager la même ligne de transmission : "A special Address Detection mode is available for use when multiple receivers share the same transmission line, such as in RS-485 systems"
Pour cela, la datasheet précise qu'il faut utiliser 9 bits (au lieu de 8). Ce bit supplémentaire correspond au bit d'adresse. Ainsi, il faut définir ce bit d'adresse pour tous les esclaves. Lors de la communication, ces derniers devront vérifier que le message reçu contient bien le bon bit d'adresse.
Je ne sais pas si jusque-là je suis bon ? Plusieurs questions :
"In order to select 9-bit transmission, transmit bit, TX9 (TXSTA), should be set and the ninth bit should be loaded to the TX9D bit"
--> Le bit TX9D est le MSB, donc le premier bit reçu par l'esclave ?
"TX9D Ninth bit of Transmit Data, can be address/data bit or a parity bit."
--> Je ne comprends pas exactement le terme "address bit", une adresse ne peut pas se limiter à un seul bit ? Ainsi, comment définir l'adresse côté maitre et esclave ?
J'espère avoir été assez clair, je reste dispo' pour détailler si besoin.
Merci d'avance pour vos réponses.
-----