Une fois notre programme réalité, il faut l'injecter dans le module à proprement parlé. Pour ceci, il faut relier le module au pc par l'intermédiaire de la liaison série usb UART0 et le câble fourni. Il faut ensuite placer le module en mode programmation. Dans ce but, il faut rester appuyé sur le bouton-poussoir « PROGRAMMATION » de la platine, puis solliciter fugitivement le bouton-poussoir « RESET » de la platine puis relâcher le bouton-poussoir « PROGRAMMATION » (...)
[...] (Int64 u64adresse : Adresse du module auquel on désire envoyer le message. (Int8 Data[] : Tableau de int8 (des char convertis en int8 en réalité) Par exemple : uint8 au8Data[1] = (TAILLE_DATA_TRANSMISE : le nom est assez explicite c'est la taille du mot envoyé + 1 renvoyant au voir documentation Recevoir un message : Voir Fonction vJenie_CbStackDataEvent vu précédemment. La communication série UART Avec la librairie Printf.h/.c Pour envoyer des données sur UART0 vous pouvez utiliser les fonctions prédéfinies par Printf.h/.c Dans vJenie_CbInit() il faut placer la fonction vUART_printInit(); pour initialiser la communication. [...]
[...] Envoyer des mots : Utilisation de la fonction vAHI_UartWriteData(uint8 u8Uart, uint8 u8Data); - uint8 u8Uart : E_AHI_UART_0 ou E_AHI_UART_1 - uint8 u8Data : attention 1 caractère char converti en int8 Pour envoyer un mot complet il faut faire une boucle, c'est pour cela que la fonction vPrintf est bien pratique Recevoir des mots : Pour cela il va falloir revenir sur la fonction vJenie_CbHwEvent qui gérait les interruptions hardware. Lorsqu'il y a une interruption hardware, le programme entre dans cette fonction. Et à ce moment, on va utiliser la fonction de lecture de mots sur UART. u8AHI_UartReadData(uint8 u8Uart); - uint8 u8Uart : E_AHI_UART_0 ou E_AHI_UART_1 Cette fonction renvoie le caractère lu en format int8. Sauf que si l'on place cette fonction telle qu'elle dans vJenie_CbHwEvent à chaque interruption hardware on va lire le caractère même s'il n'y en pas qui arrive. [...]
[...] Conversion Analogique Numérique Utiliser les ports de sortie Ici, si on appuie sur le bouton la LED branchée sur le port 1 s'allume. En Jennic, dans les valeurs passées en paramètres des fonctions, chaque des bits de 0 à 20 représente une DIO pin, où le bit 0 représente DIO0 et le bit 20 représente DIO20 (bits 21 à 31 sont ignorés). Une pin DIO n'étant pas définie par un appel dans la fonction restera dans son état précédent. Si un des ports DIO est assigné à un autre périphérique et que celui-ci est activé, ces fonctions ne pourront pas affecter ce bit. [...]
[...] Les informations apportées sont très similaire à celle de E_JENIE_NETWORK_UP sauf que la structure à utiliser est tsChildJoined aussi déclaré dans Jenie.h - E_JENIE_CHILD_LEAVE Un module vient de quitter le réseau. Fonction vJenie_CbStackDataEvent Cette fonction est appelée lorsqu'une interruption liée à la réception de données par le module est déclenchée. -E_JENIE_DATA : Une trame est arrivée sur le module et est prête à être exploitée. Pour récupérer et afficher le message il faut procéder en passant encore par une structure du jenie.h : tsData. [...]
[...] Fonction vJenie_CbMain C'est la fonction qui remplace la fonction main. A contrario de la fonction habituelle vJenie_CbMain() opère un while(true) automatiquement. Il n'est donc pas nécessaire de le rajouter. Fonction vJenie_CbStackMgmtEvent Cette fonction est appelée lorsqu'une interruption liée à la gestion du réseau est détectée. Ensuite on teste le paramètre eEventType pour connaitre le type de l'événement qui a déclenché l'interruption. -E_JENIE_NETWORK_UP : Le module vient de créer son réseau ou s'est connecté au réseau. On récupère les informations liées au réseau grâce au paramètre *pvEventPrim. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture