Étape 5: Virtuel fil... à l’intérieur
Les messages sont envoyés avec un préambule de la formation, la longueur du message et la somme de contrôle. Les messages sont envoyés avec 4 à 6 bits codant pour le bon équilibre de DC et une somme de contrôle CRC pour l’intégrité des messages.
Peut-on utiliser la communication série avec ? réponse est non
Demandez récepteurs exigent un sursaut de formation les impulsions pour synchroniser l’émetteur et le récepteur et exige également le bon équilibre entre 0 et 1 dans le flux de message pour maintenir l’équilibre de la CC du message, UART ne fournit pas de celles-ci. Ils travaillent un peu Ask sans fil, mais pas aussi bien que ce code.
La fonction complète pour cette bibliothèque :
Pour utiliser la bibliothèque VirtualWire, vous devez disposer
#include < VirtualWire.h >
Pour sélectionner la broche de données émetteur, Sub :
vw_set_tx_pin
Pour sélectionner l’axe de données de récepteur, Sub :
vw_set_rx_pin
Configurer la vitesse de transmission, la vitesse de Tx doit être en tant que même que le Rx.
la vitesse sera un nombre de bits par seconde entre 0-9600, sur courte distance, vous pouvez utiliser une vitesse rapide, interurbains « jusqu'à 90m » vous devez utiliser baisser la vitesse de transmission autant que possible.
vw_setup (uint16_t vitesse) ;
Démarrer le récepteur PLL fonctionne, vous devez le faire avant de pouvoir recevoir tous les messages, appelez
vw_rx_start() ;
Vous devez le faire avant de pouvoir recevoir des messages. Quand un messageis disponible (checksum bon ou pas), vw_have_message() retourne true.
vw_rx_stop() ;
Bloc et patientez jusqu'à ce que l’émetteur est inactif, appelés :
vw_wait_tx() ;
Bloc et attendez qu’un message est disponible à partir du récepteur, appelez :
vw_wait_rx() ;
Envoyer un message avec la longueur indiquée, appel :
vw_send (uint8_t * buf, uint8_t len) ;
Retourne la valeur true si un message non lu est disponible à partir du récepteur., appeler :
vw_have_message() ;