This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| fr:examples:can:wiper:tp1 [2010/03/11 06:44] – sdeniaud | fr:examples:can:wiper:tp1 [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 30: | Line 30: | ||
| ==== Analyse ==== | ==== Analyse ==== | ||
| - | Avant de pouvoir lire l' | + | Avant de pouvoir lire l' |
| - | Cette configuration a pour but de définir en entrée les 8 bits du port (GP0 à GP7). Pour configurer un bit du port en entrée, il faut écrire un " | + | Cette configuration a pour but de définir en entrée les 8 bits du port (GP0 à GP7). Pour configurer un bit du port en entrée, il faut écrire un " |
| - | Dans ce cas, la trame envoyée par le contrôleur CAN (Circuit SJA1000 sur carte CAN_PC104) sera vue par le récepteur (circuit MCP25050 sur module) comme une '' | + | Dans ce cas, la trame envoyée par le contrôleur CAN (Circuit SJA1000 sur carte CAN_PC104) sera vue par le récepteur (circuit MCP25050 sur module) comme une '' |
| === Configuration des liaisons en entrées === | === Configuration des liaisons en entrées === | ||
| - | **Définition de la trame de commande ('' | + | **Définition de la trame de commande ('' |
| * Définition de variables structurées sous le modèle '' | * Définition de variables structurées sous le modèle '' | ||
| '' | '' | ||
| Line 51: | Line 51: | ||
| Rem : '' | Rem : '' | ||
| * Définition des paramètres associés à la trame de commande | * Définition des paramètres associés à la trame de commande | ||
| - | Il faut initialiser le registre GPDDR ("Data Direction Register") en écrivant un 1 si bit d' | + | Il faut initialiser le registre GPDDR (Data Direction Register) en écrivant un 1 si bit d' |
| <code c> | <code c> | ||
| Line 62: | Line 62: | ||
| * envoyer la trame par la fonction '' | * envoyer la trame par la fonction '' | ||
| * puis attendre la réponse de type '' | * puis attendre la réponse de type '' | ||
| - | L' | + | L' |
| === Activation de la conversion Analogique -> Numérique === | === Activation de la conversion Analogique -> Numérique === | ||
| Line 69: | Line 69: | ||
| Définition des trois octets de données associées pour : | Définition des trois octets de données associées pour : | ||
| * activer et configurer la conversion Analogique vers Numérique | * activer et configurer la conversion Analogique vers Numérique | ||
| - | D' | + | D' |
| Il faut initialiser le registre ADCON0, | Il faut initialiser le registre ADCON0, | ||
| <code c> | <code c> | ||
| - | T_IM_ Commodo_EG.data[0]=0x2A; | + | T_IM_ Commodo_EG.data[0]=0x2A; |
| T_IM_ Commodo_EG.data[1]=0xF0; | T_IM_ Commodo_EG.data[1]=0xF0; | ||
| T_IM_ Commodo_EG nt.data[2]=0x80; | T_IM_ Commodo_EG nt.data[2]=0x80; | ||
| Line 83: | Line 83: | ||
| Il faut aussi initialiser le registre ADCON1 : | Il faut aussi initialiser le registre ADCON1 : | ||
| <code c> | <code c> | ||
| - | T_IM_ Commodo_EG.data[0]=0x2B; | + | T_IM_ Commodo_EG.data[0]=0x2B; |
| T_IM_ Commodo_EG.data[1]=0xFF; | T_IM_ Commodo_EG.data[1]=0xFF; | ||
| T_IM_ Commodo_EG.data[2]=0xO3; | T_IM_ Commodo_EG.data[2]=0xO3; | ||
| Line 104: | Line 104: | ||
| - | Dans ce cas, la trame envoyée par le contrôleur CAN (Circuit SJA1000 sur carte CAN_PC104) sera vue par le récepteur (circuit MCP25050 sur module) comme un "Information Request | + | Dans ce cas, la trame envoyée par le contrôleur CAN (Circuit SJA1000 sur carte CAN_PC104) sera vue par le récepteur (circuit MCP25050 sur module) comme un '' |
| * Définition de variables structurées sous le modèle '' | * Définition de variables structurées sous le modèle '' | ||
| Line 129: | Line 129: | ||
| D' | D' | ||
| - | Vu du module (du MCP25050), la réponse à un '' | + | Vu du module (du MCP25050), la réponse à un '' |
| La trame réponse, suite à l'IRM, comportera en données associées 8 octets ({{: | La trame réponse, suite à l'IRM, comportera en données associées 8 octets ({{: | ||
| * octet de rang 0 (data[0])→ valeur IOINTFL | * octet de rang 0 (data[0])→ valeur IOINTFL | ||
| Line 145: | Line 145: | ||
| {{ : | {{ : | ||
| - | ==== Programme en "C" | + | ==== Programme en C ==== |
| <code c> | <code c> | ||
| Line 164: | Line 164: | ||
| * -> Les trames reçues et envoyées sur le bus CAN sont affichées | * -> Les trames reçues et envoyées sur le bus CAN sont affichées | ||
| * -> Les états des entrées binaires et de l' | * -> Les états des entrées binaires et de l' | ||
| - | * -> La temporisation est de type "logiciel" | + | * -> La temporisation est de type logiciel |
| * (comptage du nombre de passages dans la boucle principale) | * (comptage du nombre de passages dans la boucle principale) | ||
| *---------------------------------------------------------------------------------------------- | *---------------------------------------------------------------------------------------------- | ||