10.
Exercice 4 - Ecriture des données du transpondeur en mode ICODE
10.1
Introduction
Le résultat des exercices précédents est la capacité de détecter, d'identifier et de lire les données d'un transpondeur ICODE par le module de lecture RFID.
L'étape suivante consiste à modifier ce programme pour écrire des blocs de données dans la mémoire du transpondeur. Cela permettra de stocker des
informations dans la mémoire d'un transpondeur et de les modifier si nécessaire.
Le processus d'écriture d'un bloc de données sur un transpondeur est l'inverse du processus de lecture. Après avoir détecté et identifié un transpondeur, les 4
octets de données doivent être écrits dans une mémoire tampon du module de lecture, créée par le composant RFID de Flowcode. Le contenu de la mémoire
tampon peut ensuite être écrit dans le transpondeur, avec l'UID du transpondeur - obtenu au cours du processus d'identification.
La fonction Flowcode WriteRFIDBuffer copie les données, un octet à la fois, dans une mémoire tampon. La fonction WriteRFIDBlock est ensuite utilisée pour copier
le contenu de la mémoire tampon à un emplacement particulier de la mémoire du transmetteur.
10.2
Objectif
Écrire un programme Flowcode qui modifiera le programme précédent en ajoutant la possibilité d'écrire des données du clavier vers un transpondeur.
10.3
Exigences
Cet exercice nécessite les éléments suivants (voir section 5.2 informations de configuration) :
•
un microcontrôleur, soit le PIC BL0011, soit l'Arduino Uno BL0055
•
une copie de Flowcode, version 8 ou ultérieure, fonctionnant sur le PC
•
un E-blocks2 RFID (BL0197) avec un module de lecture RWD-MICODE
•
un LCD E-blocks2 (BL0169)
•
un clavier E-blocks2 (BL0138)
un transpondeur RFID ICODE (plusieurs si possible - notez les UID)
10.4
Le programme Flowcode en détail sur
Le programme comprendra :
•
détecter la présence d'un transpondeur ICODE disponible ;
•
lire l'UID du transpondeur ;
•
lire les données du bloc 5 de la mémoire du transpondeur ;
•
afficher les 4 octets de données sur l'écran LCD ;
•
vérifie si une touche du clavier est enfoncée ;
•
écrire la valeur ASCII de la touche pressée dans la mémoire du transpondeur, en utilisant les fonctions WriteRFIDBuffer et WriteRFIDBlock ;
vérifier que les nouvelles données ont été transférées avec succès.
10.4.1
Fonction WriteRFIDBuffer
Les données à envoyer au bloc mémoire du transpondeur sont d'abord écrites dans une mémoire tampon du module de lecture, créée par le composant RFID à
l'aide de la fonction WriteRFIDBuffer. La fonction doit savoir sur lequel des quatre octets de la mémoire tampon elle doit écrire, et une adresse (0 à 3) doit donc
être fournie dans la zone Paramètres des propriétés de la macro.
27