Envoie des coordonnées GPS et de l'heure via bus CAN
Par Bayoumi Chaïmaa et Comte-Gaz Quentin (encadré par M. Pepin)
 Tout Fichiers Fonctions Variables Pages
Fonctions | Variables
Référence du fichier CAN.c

Fichier contenant les fonctions liées au CAN. Plus de détails...

Graphe des dépendances par inclusion de CAN.c:

Fonctions

void init_CAN (void)
 Initialisation du bus CAN ainsi que des mailboxes à utiliser. Plus de détails...
 
void preparation_mailbox (unsigned char *data, int taille_data, int mbID)
 Préparation des mailbox d'envoie (uniquement l'heure et la position –> mailboxes 20 et 21) Plus de détails...
 

Variables

unsigned char buffer_can [100]
 Buffer édité par l'UART uniquement quand la trame est valide et est utilisé par le CAN.
 
int buffer_can_ready
 Protection évitant que l'UART édite le buffer_can[100] quand on remplie les mailboxes CAN. Plus de détails...
 

Description détaillée

Fichier contenant les fonctions liées au CAN.

Vous trouverez ici les fonctions init_CAN() et preparation_mailbox().

Avertissement
La fonction preparation_mailbox() doit être appelée après init_CAN().
Auteur
Bayoumi Chaïmaa et Comte-Gaz Quentin
Date
Novembre 2013
Version
1.0

Documentation des fonctions

void init_CAN ( void  )

Initialisation du bus CAN ainsi que des mailboxes à utiliser.

Baudrate : 500 000 KHz (SJW = 1, TSEG2 = 5, TSEG1 = 12, BRP = 9) Mailbox de transmission : 20 (heure, associée à l'ID 20) et 21 (position, associée à l'id 21) Mailbox de reception : 0 (heure, associée à l'ID 20) et 1 (position, associée à l'ID 21)

Avertissement
Cette fonction doit être appelée avant d'utiliser les autres fonctions liées au CAN.

Voici le graphe des appelants de cette fonction :

void preparation_mailbox ( unsigned char *  data,
int  taille_data,
int  mbID 
)

Préparation des mailbox d'envoie (uniquement l'heure et la position –> mailboxes 20 et 21)

Cette fonction permet de remplir les registres contenant les 8 octets de données que l'on veut transmettre via bus CAN.

Avertissement
Ne pas oublier d'activer la transmission CAN après avoir utilisé cette fonction (pCAN_TRS2)
Paramètres
*dataPointeur vers le tableau de charactères à envoyer
taille_datanombre d'octets à envoyer (si superieur à 8, alors on envoie 8 octets)
mbIDMailbox à remplir

Voici le graphe des appelants de cette fonction :

Documentation des variables

int buffer_can_ready

Protection évitant que l'UART édite le buffer_can[100] quand on remplie les mailboxes CAN.

En théorie, cette variable est inutile car on a joué sur la priorité des interruptions pour garantir que le buffer sera valide lors d'une interruption CAN.