OzIRIS
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
OzIRIS

Forum des bts IRIS
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
Display Star Wars Unlimited Ombres de la Galaxie : où l’acheter ?
Voir le deal

 

 TP N°4 INFO

Aller en bas 
+2
Skunnyk
jrjd
6 participants
AuteurMessage
jrjd
apprenti Barbu
jrjd


Nombre de messages : 467
Localisation : La colloc' -Film primé aux adware du X 2005-
Date d'inscription : 29/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyDim 23 Jan à 23:42

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "pci_7841.h"
#include "commdef.h"
#include "conio.h"
#DEFINE CARTE_CAN 0
#DEFINE PORT0_CAN 0
#DEFINE PORT1_CAN 1
#DEFINE VITESSE_TRANSMITION_125KBps 0
#DEFINE VITESSE_TRANSMITION_250KBps 1
#DEFINE VITESSE_TRANSMITION_500KBps 2
#DEFINE VITESSE_TRANSMITION_1MBps 3
#DEFINE VITESSE_TRANSMITION_SELFDEFINE 4
#DEFINE MODE_STANDARD_PORT 0
#DEFINE MODE_ETENDU_PORT 1


int main(void)
{

PORT_STRUCT setPort;
int Identificateur,
NbOctets,
interruption,
données,
count,
handle;
CAN_PACKET sndMsg;

while(interruption=getch()!='q')
{

do
{
fprintf(stdout, "Saisir l'indentificateur : ")
scanf("%d",&Identificateur);
}
while (Identificateur < 0x00 || Identificateur > 0xFF};

do
{
fprintf(stdout, "Saisir le nombre d'octets de données à envoyer (entre 0 et 8 octets): ");
scanf("%d",&NbOctets);
}
while((NbOctets<0)&&(NbOctets>Cool);

do
{
fprintf(stdout, "Saisir les données à envoyer en héxadécimal : ")
scanf("%x",&données);
}

if ((handle = CanOpenDriver(0, 0)) == -1)
{
fprintf(stderr, "\nOuverture du port 0 échouée!! Fin du programme");
exit (-1);
}


setPort.mode = 0; // 0 : 11-bit ; 1 : 29-bit CAN network
setPort.accCode = 0; // Only ID = accCode can pass the filter
setPort.accMask = 0x7ff; // Don't care bit
setPort.baudrate = 4; // 0: 125kBps; 1:250kBps; 2:500kBps; 3:1MBps 4:self defined
setPort.brp = 0x07 ; // Configuration des registre BTR0 et BTR1 de la trame
setPort.tseg1 = 0xD ;
setPort.tseg2 = 0x2 ;
setPort.sjw = 0x0 ; // bit de synchronisation
setPort.sam = 0x0 ;


CanConfigPort(handle, &setPort);


sndMsg.CAN_ID = Identificateur;
sndMsg.rtr = 1;
sndMsg.len = NbOctets;

for(count=0;count<=7;count++)
{
sndMsg.data[count]=buffer[count];
fprintf(stdout, "%c\n",sndMsg.data[count]);
}

fprintf(stdout, "Début de la transmission via le PORT 0....\n");

do
{
CanSendMsg(handle , &sndMsg);
usleep(1000);
}
while(getch()!=0x20);

fprintf(stdout, "Fin de la transmission...\n");
fprintf(stdout, "Patientez 5 Secondes ...\n");
usleep(5000000);
}
CanCloseDriver(handle);
fprintf(stdout, "Appuyez sur une touche pour continuer...\n");
return 0;

}



LA VERSION 2.0 EST ARRIVE
Revenir en haut Aller en bas
Skunnyk
Maitre barbu
Skunnyk


Nombre de messages : 971
Localisation : Chez moa
Date d'inscription : 28/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyDim 23 Jan à 23:46

woàui ca ma l'air bien
pour la reception on es a la version 0.3 (instable ^^ )[/url]
Revenir en haut Aller en bas
jrjd
apprenti Barbu
jrjd


Nombre de messages : 467
Localisation : La colloc' -Film primé aux adware du X 2005-
Date d'inscription : 29/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 0:31

VERSION 6.0 !!!!!!!!!!!!!!!!!


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "pci_7841.h"
#include "commdef.h"
#include "conio.h"
#DEFINE CARTE_CAN 0
#DEFINE PORT0_CAN 0
#DEFINE PORT1_CAN 1
#DEFINE VITESSE_TRANSMITION_125KBps 0
#DEFINE VITESSE_TRANSMITION_250KBps 1
#DEFINE VITESSE_TRANSMITION_500KBps 2
#DEFINE VITESSE_TRANSMITION_1MBps 3
#DEFINE VITESSE_TRANSMITION_SELFDEFINE 4
#DEFINE MODE_STANDARD_PORT 0
#DEFINE MODE_ETENDU_PORT 1


int main(void)
{

PORT_STRUCT setPort;
int Identificateur,
NbOctets,
interruption,
données,
count,
handle;
CAN_PACKET sndMsg;

while(interruption=getch()!='q')
{

do
{
fprintf(stdout, "Saisir l'indentificateur : ")
scanf("%d",&Identificateur);
}
while (Identificateur < 0x00 || Identificateur > 0xFF};

do
{
fprintf(stdout, "Saisir le nombre d'octets de données à envoyer (entre 0 et 8 octets): ");
scanf("%d",&NbOctets);
}
while((NbOctets<0)||(NbOctets>Cool);

do
{
fprintf(stdout, "Saisir les données à envoyer en héxadécimal : ")
scanf("%x",&données);
}

if ((handle = CanOpenDriver(CARTE_CAN, PORT0_CAN)) == -1)
{
fprintf(stderr, "\nOuverture du port 0 échouée!! Fin du programme");
exit (-1);
}


setPort.mode = MODE_STANDARD_PORT;
setPort.accCode = CARTE_CAN ; // Only ID = accCode can pass the filter
setPort.accMask = 0x7ff; // Don't care bit
setPort.baudrate = VITESSE_TRANSMITION_SELFDEFINE;
setPort.brp = 0x07 ; // Configuration des registre BTR0 et BTR1 de la trame
setPort.tseg1 = 0xD ;
setPort.tseg2 = 0x2 ;
setPort.sjw = 0x0 ; // bit de synchronisation
setPort.sam = 0x0 ;


CanConfigPort(handle, &setPort);


sndMsg.CAN_ID = Identificateur;
sndMsg.rtr = 1;
sndMsg.len = NbOctets;

for(count=0;count<=7;count++)
{
sndMsg.data[count]=buffer[count];
fprintf(stdout, "%c\n",sndMsg.data[count]);
}

fprintf(stdout, "Début de la transmission via le PORT 0....\n");

do
{
CanSendMsg(handle , &sndMsg);
usleep(1000);
}
while(getch()!=0x20);

fprintf(stdout, "Fin de la transmission...\n");
fprintf(stdout, "Patientez 5 Secondes ...\n");
usleep(5000000);
}
CanCloseDriver(handle);
fprintf(stdout, "Appuyez sur une touche pour continuer...\n");
return 0;

}


Dernière édition par le Lun 24 Jan à 0:53, édité 3 fois
Revenir en haut Aller en bas
jrjd
apprenti Barbu
jrjd


Nombre de messages : 467
Localisation : La colloc' -Film primé aux adware du X 2005-
Date d'inscription : 29/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 0:31

a la place du cool fo mettre 8
Revenir en haut Aller en bas
seibii
3 poils au menton
seibii


Nombre de messages : 223
Date d'inscription : 01/12/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 0:37

merci jb le gay!!!!!
cyclops cyclops cyclops
Revenir en haut Aller en bas
tiryon
Maitre barbu
tiryon


Nombre de messages : 601
Localisation : gre
Date d'inscription : 29/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 1:47

c boooooooooo
Revenir en haut Aller en bas
Darkness

Darkness


Nombre de messages : 754
Date d'inscription : 30/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 1:53

c'est faux.... Mr. Green Shit
Revenir en haut Aller en bas
Skunnyk
Maitre barbu
Skunnyk


Nombre de messages : 971
Localisation : Chez moa
Date d'inscription : 28/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 2:03

mouarf bah donne ta reponse alors... participe a l'effort :p
Revenir en haut Aller en bas
Darkness

Darkness


Nombre de messages : 754
Date d'inscription : 30/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 2:08

lol g assez bosser cette aprem et jen ai assez aidé....ras le culcul moi
Confused Confused
Revenir en haut Aller en bas
seibii
3 poils au menton
seibii


Nombre de messages : 223
Date d'inscription : 01/12/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 2:12

allé fé tourné stp....
shakng2 shakng2 shakng2 shakng2 shakng2
Revenir en haut Aller en bas
jrjd
apprenti Barbu
jrjd


Nombre de messages : 467
Localisation : La colloc' -Film primé aux adware du X 2005-
Date d'inscription : 29/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 2:19

for(count=0 ; count < TAILLE_MAX_DONNEES_TRAMES ; count++)
{
buffer[count]=rcvmsg.data[count] ;
}

buffer[8]="\0" ;
printf("\nmessage = %s ", &buffer) ;
printf("\n%x",&buffer);
printf("\nl'identificateur : ",&buffer.CAN_id);

Voila ce que vous devez rajouter. MErci qui... merci Darkness
Revenir en haut Aller en bas
jrjd
apprenti Barbu
jrjd


Nombre de messages : 467
Localisation : La colloc' -Film primé aux adware du X 2005-
Date d'inscription : 29/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 2:23

pensez aux fprintf (stdout,*************
Revenir en haut Aller en bas
CaRiBoU
Barbu supreme
CaRiBoU


Nombre de messages : 452
Localisation : Au fond a droite
Date d'inscription : 28/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 2:33

jrjd a écrit:
for(count=0 ; count < TAILLE_MAX_DONNEES_TRAMES ; count++)
{
buffer[count]=rcvmsg.data[count] ;
}

buffer[8]="\0" ;
printf("\nmessage = %s ", &buffer) ;
printf("\n%x",&buffer);
alors g jj remarque a faire:
-1: buffer[8]="\0" ; ca c a viré c po une chaine de caracteres qu'on envoi c dez données en hexa (message = %s ca aussi c inutil)
-2:printf("\nmessage = %s ", &buffer) ; ds un printf tu mets po &toto mai toto c ds un scan ke tu met ca
Revenir en haut Aller en bas
Skunnyk
Maitre barbu
Skunnyk


Nombre de messages : 971
Localisation : Chez moa
Date d'inscription : 28/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 2:43

et tu l'affiche commen le message recu alors ?
Revenir en haut Aller en bas
jrjd
apprenti Barbu
jrjd


Nombre de messages : 467
Localisation : La colloc' -Film primé aux adware du X 2005-
Date d'inscription : 29/11/2004

TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO EmptyLun 24 Jan à 3:37

ben tu l'affiches pas na!
Revenir en haut Aller en bas
Contenu sponsorisé





TP N°4 INFO Empty
MessageSujet: Re: TP N°4 INFO   TP N°4 INFO Empty

Revenir en haut Aller en bas
 
TP N°4 INFO
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» DS d'info d'Oscar

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
OzIRIS :: Catégorie à modifier... :: Vieux topics-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser