| TP N°4 INFO | |
|
|
Auteur | Message |
---|
jrjd apprenti Barbu
Nombre de messages : 467 Localisation : La colloc' -Film primé aux adware du X 2005- Date d'inscription : 29/11/2004
| Sujet: Re: TP N°4 INFO Dim 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 | |
|
| |
Skunnyk Maitre barbu
Nombre de messages : 971 Localisation : Chez moa Date d'inscription : 28/11/2004
| Sujet: Re: TP N°4 INFO Dim 23 Jan à 23:46 | |
| woàui ca ma l'air bien pour la reception on es a la version 0.3 (instable ^^ )[/url] | |
|
| |
jrjd apprenti Barbu
Nombre de messages : 467 Localisation : La colloc' -Film primé aux adware du X 2005- Date d'inscription : 29/11/2004
| Sujet: Re: TP N°4 INFO Lun 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 | |
|
| |
jrjd apprenti Barbu
Nombre de messages : 467 Localisation : La colloc' -Film primé aux adware du X 2005- Date d'inscription : 29/11/2004
| Sujet: Re: TP N°4 INFO Lun 24 Jan à 0:31 | |
| a la place du cool fo mettre 8 | |
|
| |
seibii 3 poils au menton
Nombre de messages : 223 Date d'inscription : 01/12/2004
| Sujet: Re: TP N°4 INFO Lun 24 Jan à 0:37 | |
| | |
|
| |
tiryon Maitre barbu
Nombre de messages : 601 Localisation : gre Date d'inscription : 29/11/2004
| Sujet: Re: TP N°4 INFO Lun 24 Jan à 1:47 | |
| | |
|
| |
Darkness
Nombre de messages : 754 Date d'inscription : 30/11/2004
| |
| |
Skunnyk Maitre barbu
Nombre de messages : 971 Localisation : Chez moa Date d'inscription : 28/11/2004
| Sujet: Re: TP N°4 INFO Lun 24 Jan à 2:03 | |
| mouarf bah donne ta reponse alors... participe a l'effort :p | |
|
| |
Darkness
Nombre de messages : 754 Date d'inscription : 30/11/2004
| |
| |
seibii 3 poils au menton
Nombre de messages : 223 Date d'inscription : 01/12/2004
| Sujet: Re: TP N°4 INFO Lun 24 Jan à 2:12 | |
| | |
|
| |
jrjd apprenti Barbu
Nombre de messages : 467 Localisation : La colloc' -Film primé aux adware du X 2005- Date d'inscription : 29/11/2004
| Sujet: Re: TP N°4 INFO Lun 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 | |
|
| |
jrjd apprenti Barbu
Nombre de messages : 467 Localisation : La colloc' -Film primé aux adware du X 2005- Date d'inscription : 29/11/2004
| Sujet: Re: TP N°4 INFO Lun 24 Jan à 2:23 | |
| pensez aux fprintf (stdout,************* | |
|
| |
CaRiBoU Barbu supreme
Nombre de messages : 452 Localisation : Au fond a droite Date d'inscription : 28/11/2004
| Sujet: Re: TP N°4 INFO Lun 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 | |
|
| |
Skunnyk Maitre barbu
Nombre de messages : 971 Localisation : Chez moa Date d'inscription : 28/11/2004
| Sujet: Re: TP N°4 INFO Lun 24 Jan à 2:43 | |
| et tu l'affiche commen le message recu alors ? | |
|
| |
jrjd apprenti Barbu
Nombre de messages : 467 Localisation : La colloc' -Film primé aux adware du X 2005- Date d'inscription : 29/11/2004
| Sujet: Re: TP N°4 INFO Lun 24 Jan à 3:37 | |
| ben tu l'affiches pas na! | |
|
| |
Contenu sponsorisé
| Sujet: Re: TP N°4 INFO | |
| |
|
| |
| TP N°4 INFO | |
|