a daccord je n'avait pas vu ^^ pas contr aurait tu la commande ou un site qui en parle ?
merci
-----
a daccord je n'avait pas vu ^^ pas contr aurait tu la commande ou un site qui en parle ?
merci
bonjour
Je ne c'est toujours pas comment envoyer les donné série synchronisé avec une horloge j'ai vu sur des site des sip_write des sendata mais tous reste flou et je ne 'est pas lequel utilisé merci de votre aide
c'est n'est pas des instruction que tu ma donner mais juste une démarche a faire !
bien comme les registre c'est sur front d'horloge il faut bien que le micro fournisse un signal d'horloge non ?
Normal que je n'est pas mis une seul ligne de code car je cherche le code ! donc je demandais si tu ne connaitrait pas un site ( ou toi même ) qui détaillerai les commande d'envoi serie ( en C ! )
merci
Non je n'en connais pas. Mais même si tu trouves un programme et que tu n'as pas compris le principe, tu n'arriveras pas à l'adapter au PIC.
Tu veux bien remplir un registre de 6 octets (48 bits) à partir de 6 octets en série ?qui détaillerai les commande d'envoi serie ( en C ! )
Qu'est-ce que tu ne comprends pas ? Les branchements sur les bascules, le principe du décalage ou le langage de programmation ?
Dernière modification par sdec25 ; 25/10/2008 à 15h03.
je ne comprend pas le code a utiliser voila pourquoi je cherche un site avec un code pouvant m'indiquer la demarche a suivre pour envoyer ces données ( niveau programme ( niveau hardware il n'y a pas de souci ))
ok donc si tu utilises les bascules en synchrone (fréquence horloge bascule = fréquence instruction PIC = fréquence PIC / 4), ce code devrait fonctionner :
Code:char donnees[6]; for(i=0; i<6; ++i) { PORT_BASCULE_D = donnees[i]; // 1 seul cycle en ces 2 instructions (si ça marche pas, le faire en asm) PORT_BASCULE_E = 1; PORT_BASCULE_E = 0; }
bonjour
Pourquoi i<6
Je ne comprend pas la démarche que fait ton code
Peut tu m'expliquer ?
merci
( car ma valeur est stocker dans une adresse mémoire)
a ce que j'ai vu la deuxième partit fait office de signal d'horloge non ?
bonjour,
i<6 pour parcourir les 6 octets (tu dois bien mettre 48 bits en parallèle avec 6 bascules 8 bits ?). J'ai mis char donnees[6] mais tu peux mettre ce que tu veux du moment que c'est dans l'ordre. Le principe est le même que celui expliqué avant : on met le premier octet en sortie, on enregistre, on met le deuxième, on enregistre...
Non, comme je l'ai dit c'est en synchrone (horloge bascule = horloge PIC). Seul le bit d'enregistrement permet d'enregistrer les entrées dans les bascules.a ce que j'ai vu la deuxième partit fait office de signal d'horloge non ?
Bonjour
Je vient de voir en fait que tu envoi la donner sur le port bascule D ^^ pour le synchrone je le branche sur le quartz ou sur la sortie CLK du pic ?
Si je résume ton code :
i=0 i<6 c'est pour qu'il lise chaque octet le ++i c'est pour dire qu'il incrémente chaque fois qu'il a lu un octet
PORT_BASCULE_D = donnees[i]; c'est l'envoi de la donné
PORT_BASCULE_E = 1;
PORT_BASCULE_E = 0;
}
Cette partit c'est la validation de l'envoi ? ou la mise a 1 de la sortit qui va a l'entrée STB des bascules ? sur c'est pour STB faudrai peut etre mettre le port_bascule_E=1 avant l'envoit des donné
Si par exemple mes donné sont stocker en 0x1000 ( donc de 1000 a 1012 )
je met :
donnees0 = 0x1011 & 0x1010
donnees1 = 0x1009 & 0x1008
donnees2 = 0x1007 & 0x1006
donnees3 = 0x1005 & 0x1004
donnees4 = 0x1003 & 0x1002
donnees5 = 0x1001 & 0x1000
char donnees[6];
for(i=0; i<6; ++i) {
PORT_BASCULE_D = donnees[i];
// 1 seul cycle en ces 2 instructions (si ça marche pas, le faire en asm)
PORT_BASCULE_E = 1;
PORT_BASCULE_E = 0;
}
merci
je n'est pas peu éditer c'est plutôt
Code:donnees0 = LectureFlash(0x1011 & 0x1010) donnees1 = LectureFlash(0x1009 & 0x1008) donnees2 = LectureFlash(0x1007 & 0x1006) donnees3 = LectureFlash(0x1005 & 0x1004) donnees4 = LectureFlash(0x1003 & 0x1002) donnees5 = LectureFlash(0x1001 & 0x1000)
Sur la sortie CLK du PIC qui donne la fréquence des instructions (qui vaut 1/4 de la fréquence du quartz). Si on branchait sur le quartz on aurait 4 décalages au lieu d'un entre 2 instructions du PIC.
C'est la validation de l'envoi. Je ne sais pas comment utiliser STB donc après il y a peut-être une autre solution, le but étant que les bascules enregistrent l'entrée D.PORT_BASCULE_E = 1;
PORT_BASCULE_E = 0;
}
Cette partit c'est la validation de l'envoi ? ou la mise a 1 de la sortit qui va a l'entrée STB des bascules ? sur c'est pour STB faudrai peut etre mettre le port_bascule_E=1 avant l'envoit des donné
Pour le reste c'est bon, mais il faut déclarer char donnees[6] au début, et mettre donnees[0] à la place de donnees0
STB : a 1 quand on enregistre et a 0 quand on enregistre pas (coté bascule) ^^
je pense finit le code cette aprem ou au pire demain
Par contre une question me titile l'esprit
j'ai des valeur du type vitesse , ... le long de mon programme doit je les définir au début du programme ( #define vitesse ou unsigned char vitesse ou rien n'est obligatoire )
merci
ok donc tant que STB = 1 et qu'il y a un front d'horloge ça enregistre ? Alors c'est ce qui correspond à PORT_BASCULE_E (E pour Enregistrer )
Et l'entrée OE qu'il y a sur ton schéma, à quoi elle correspond ?
Pour la vitesse, ça dépend si c'est une constante ou pas. Si c'est une variable et que tu l'utilises tout le long du programme, déclare là au début. Si c'est une constante : #define avant le programme
Dernière modification par sdec25 ; 27/10/2008 à 14h39.
oui c'est exact pour STB
cette variable est utiliser juste pour faire la comparaison
est OE = Outpute Enable ( donc sera desactivé quand on chargera la valeur ) ( seul QS actif )
Merci de ton aide
Rebonjour
Voila le programme en version Beta ( les valeur de division ne sont pas les valeurs réel ,... )
Quelqu'un pourrait t-il me dire si il voit des erreurs ?
voila merciCode:#include <16F877.H> PORT_BASCULE_D_VITESSE @ RB1 PORT_BASCULE_D_TOUR @ RB2 PORT_BASCULE_D_JAUGE @ RB3 PORT_BASCULE_V_VITESSE @ RB7 PORT_BASCULE_V_TOUR @ RC1 PORT_BASCULE_V_JAUGE @ RC4 PORT_BASCULE_E_VITESSE @ RB5 PORT_BASCULE_E_TOUR @ RB7 PORT_BASCULE_E_JAUGE @ RC2 void main (void) { TRISA = 255; //Configuration Port A TRISB = 0; // Config Port B TRISC = ob100000011; // configuration port C TRISD = 255; //Configuration port D PORTA = 0; // Mise a 0 Port A PORTB = 0; // Mise a 0 port B PORTC = 0; // Mise a 0 PORT C OPTION_REG = ob11101000; // Timer 0 configuration T1CON = ob00000111; // Timer 1 Configuration T2CON = ob00000101; // Timer 2 Configuration ADCON1 = ob10000100; // CAN Configuration Port et alignement } for (;;) { RB5 = 0; RB7 = 0; RC2 = 0; RB6 = 1: RC1 = 1; RC4 = 1; a=0; // Mise a 0 de A TMR0 = 0; // Mise a 0 du timer 0 frequence = 0; // Mise a 0 de frequence While (TRM0<1) // Boucle jusqu'a que TRM0 = 1 ( Detection d'un front montant ) { a += 1; // Incrémentation de A } b=0; // Mise a 0 de B TMR1 = 0; // Mise a 0 de Timer1 vitesse = 0; // Mise a 0 de vitesse While (TRM1<1); // Boucle jusqu'a que TRM1 = 1 ( Detection d'un front montant ) { b += 1; // Incrémentation de B } // Definition du coeficien diviseur en fonction de la taille des pneumatiques (valeur non réel ) if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=1 && RB2=1 && RB1=1 && RB0=1 ) taille = 1000 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=1 && RB2=1 && RB1=1 && RB0=0 ) taille = 1002 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=1 && RB2=1 && RB1=0 && RB0=1 ) taille = 1004 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=1 && RB2=1 && RB1=0 && RB0=0 ) taille = 1006 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=1 && RB2=0 && RB1=1 && RB0=1 ) taille = 1008 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=1 && RB2=0 && RB1=1 && RB0=0 ) taille = 1010 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=1 && RB2=0 && RB1=0 && RB0=1 ) taille = 1012 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=1 && RB2=0 && RB1=0 && RB0=0 ) taille = 1014 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=0 && RB2=1 && RB1=1 && RB0=1 ) taille = 1016 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=0 && RB2=1 && RB1=1 && RB0=0 ) taille = 1018 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=0 && RB2=1 && RB1=0 && RB0=1 ) taille = 1020 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=0 && RB2=1 && RB1=0 && RB0=0 ) taille = 1022 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=0 && RB2=0 && RB1=1 && RB0=1 ) taille = 1024 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=0 && RB2=0 && RB1=1 && RB0=0 ) taille = 1026 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=0 && RB2=0 && RB1=0 && RB0=1 ) taille = 1028 if (RB7=1 && RB6=1 && RB5=1 && RB4=1 && RB3=0 && RB2=0 && RB1=0 && RB0=0 ) taille = 1030 frequence = 1000/a; // exemple Calcule Frequence non definitif vitesse = 1000/taille; // exemple Calcule Vitesse non definitif if (frequence < 1000) // exemple Comparaison Fréquence non definitif EcritureFlash(0x1000,000000000000000000000000000000000000000000000000) // exemple ecriture memoire valeur binnaire a envoyer else if (frequence > 1000 && frequence < 1010) // exemple Comparaison Fréquence non definitif EcritureFlash(0x1000,000000000000000000000000000000000000000000000001) if (vitesse < 1000) EcritureFlash(0x1012,000000000000000000000000000000000000000000000000) // exemple ecriture memoire valeur binnaire a envoyer ADCON0 = ob01011001; // Fosc/8(01), Chanel : RA3 (011) , GO/DONE : No (0) , Bit non définie (0) , ADON : oui (1) TMR2 = 0; // Mise a 0 du timer 2 pour la temporisation for (TRM2=6); // Temporisation permetant au convertisseur de chager la valeur analogique nop(); // 1us de temporisation par sécurité ! GO/DONE = 1; // Go/DONE = 1 Début conversion TMR2 = 0; // Mise a 0 Du timer 2 pour la temporisation for (GO/DONE=0) ; // Temporisation pour laisser le temps au micro de convertir t_eau=ADRESH:ADRESL // definition de la valeur essence ADIF = 0; if (t_eau < 0 ) // Exemple de comparaison EcritureFlash(0x1024,00000000) // exemple ecriture memoire valeur binnaire a envoyer else if ( t_eau > ob0000000000100000 && essence < ob 0000000000100000 )// Exemple de comparaison EcritureFlash(0x1004,00000001)// exemple ecriture memoire valeur binnaire a envoyer ADCON0 = ob01100001; // Fosc/8(01), Chanel : RA1 (100) , GO/DONE : No (0) , Bit non définie (0) , ADON : oui (1) TMR2 = 0; // Mise a 0 du timer 2 pour la temporisation for (TRM2=6); // Temporisation permetant au convertisseur de chager la valeur analogique nop(); // 1us de temporisation par sécurité ! GO/DONE = 1; // Go/DONE = 1 Début conversion TMR2 = 0; // Mise a 0 Du timer 2 pour la temporisation for (GO/DONE=0) ; // Temporisation pour laisser le temps au micro de convertir essence=ADRESH:ADRESL // definition de la valeur essence ADIF = 0; if (essence < 0 ) // Exemple de comparaison EcritureFlash(0x1026,00000000) // exemple ecriture memoire valeur binnaire a envoyer else if ( essence > ob0000000000100000 && essence < ob 0000000000100000 )// Exemple de comparaison EcritureFlash(0x1005,00000001)// exemple ecriture memoire valeur binnaire a envoyer ADCON0 = ob01001001; // Fosc/8(01), Chanel : RA3 (011) , GO/DONE : No (0) , Bit non définie (0) , ADON : oui (1) TMR2 = 0; // Mise a 0 du timer 2 pour la temporisation for (TRM2=6); // Temporisation permetant au convertisseur de chager la valeur analogique nop(); // 1us de temporisation par sécurité ! GO/DONE = 1; // Go/DONE = 1 Début conversion TMR2 = 0; // Mise a 0 Du timer 2 pour la temporisation for (GO/DONE=0) ; // Temporisation pour laisser le temps au micro de convertir t_huile=ADRESH:ADRESL // definition de la valeur essence ADIF = 0; if (t_huile < 0 ) // Exemple de comparaison EcritureFlash(0x1028,00000000) // exemple ecriture memoire valeur binnaire a envoyer else if ( t_huilr > ob0000000000100000 && essence < ob 0000000000100000 )// Exemple de comparaison EcritureFlash(0x1006,00000001)// exemple ecriture memoire valeur binnaire a envoyer // Envoit donné vitesse au registre donnees[0] = LectureFlash(0x1011 & 0x1010) // donne 0 = adresse memoire donnees[1] = LectureFlash(0x1009 & 0x1008) donnees[2] = LectureFlash(0x1007 & 0x1006) donnees[3] = LectureFlash(0x1005 & 0x1004) donnees[4] = LectureFlash(0x1003 & 0x1002) donnees[5] = LectureFlash(0x1001 & 0x1000) PORT_BASCULE_V_VITESSE = 0; PORT_BASCULE_E_VITESSE = 1; char donnees[6]; for(i=0; i<6; ++i) { PORT_BASCULE_D = donnees[i]; // envoit des donné 0 a 5 } PORT_BASCULE_E_VITESSE = 0; PORT_BASCULE_E_VITESSE = 1; // envoit des donné compte tour donnees[0] = LectureFlash(0x1023 & 0x1022) // donne 0 = adresse memoire donnees[1] = LectureFlash(0x1021 & 0x1020) donnees[2] = LectureFlash(0x1019 & 0x1018) donnees[3] = LectureFlash(0x1017 & 0x1016) donnees[4] = LectureFlash(0x1015 & 0x1014) donnees[5] = LectureFlash(0x1013 & 0x1012) PORT_BASCULE_V_TOUR = 0; PORT_BASCULE_E_TOUR = 1; char donnees[6]; for(i=0; i<6; ++i) { PORT_BASCULE_D = donnees[i]; // envoit des donné 0 a 5 } PORT_BASCULE_E_JAUGE = 0; PORT_BASCULE_E_JAUGE = 1; // envoit des donné jauge donnees[0] = LectureFlash(0x1029 & 0x1028) // donne 0 = adresse memoire donnees[1] = LectureFlash(0x1027 & 0x1026) donnees[2] = LectureFlash(0x1025 & 0x1024) PORT_BASCULE_V_TOUR = 0; PORT_BASCULE_E_TOUR = 1; char donnees[3]; for(i=0; i<3; ++i) { PORT_BASCULE_D = donnees[i]; // envoit des donné 0 a 5 } PORT_BASCULE_E_JAUGE = 0; PORT_BASCULE_E_JAUGE = 1; }
Il faudrait savoir à quoi sont reliées les broches de ton µc.
As-tu essayé de compiler ? Et de le tester au simulateur ?
Bonjour
Je devient fou
Je n'est que des erreurs a la compilation :
Si je laisse #include <16F877> ou #include <16F877.H> ( le fichier et present dans le dossier ) j'ai droit au message d'ereure suivant :
Si maintenant je supprime cette ligne voila ce que j'obtientExecuting: "C:\Program Files\HI-TECH Software\PICC\PRO\9.60\bin\pic c.exe" --pass1 "C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c" -q --chip=16F877 -P --opt=default,+asm,9 --warn=0 --double=24 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Error [141] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 1.17 ne peut pas ouvrir le fichier include "16F877": No such file or directory
********** Build failed! **************
Pour moi tous sa c'est du charabiat xDCode:Executing: "C:\Program Files\HI-TECH Software\PICC\PRO\9.60\bin\picc.exe" --pass1 "C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c" -q --chip=16F877 -P --opt=default,+asm,9 --warn=0 --double=24 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s" Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 1.24 manque le type basic; entier (int) supposé Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 2.0 identificateur "RB1" indefini Error [195] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 2.1 erreur de syntaxe dans l'expresion Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 14.12 expression entière requise Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 15.7 manque le type basic; entier (int) supposé Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 16.7 manque le type basic; entier (int) supposé Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 16.9 identificateur "ob100000011" indefini Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 16.20 expression contante requise Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 17.7 manque le type basic; entier (int) supposé Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 18.7 manque le type basic; entier (int) supposé Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 19.7 manque le type basic; entier (int) supposé Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 20.7 manque le type basic; entier (int) supposé Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 21.12 manque le type basic; entier (int) supposé Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 21.14 identificateur "ob11101000" indefini Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 21.24 expression contante requise Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 22.7 manque le type basic; entier (int) supposé Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 22.9 identificateur "ob00000111" indefini Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 22.19 expression contante requise Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 23.7 manque le type basic; entier (int) supposé Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 23.9 identificateur "ob00000101" indefini Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 23.19 expression contante requise Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 24.8 manque le type basic; entier (int) supposé Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 24.10 identificateur "ob10000100" indefini Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 24.20 expression contante requise Error [285] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 26.1 pas d'identificateur dans la déclaration Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 26.1 manque le type basic; entier (int) supposé Error [314] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 26.1 ";" attendu Error [285] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 27.1 pas d'identificateur dans la déclaration Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 27.1 manque le type basic; entier (int) supposé Error [314] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 27.1 ";" attendu Error [285] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 27.8 pas d'identificateur dans la déclaration Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 27.8 manque le type basic; entier (int) supposé Error [314] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 27.8 ";" attendu Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 30.5 manque le type basic; entier (int) supposé Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 31.5 manque le type basic; entier (int) supposé Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 32.5 manque le type basic; entier (int) supposé Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 33.1 identificateur "RC1" indefini Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\main.c; 33.8 expression contante requise Advisory[1] too many errors (21) ********** Build failed! **************
merci de votre aide
Bonjour.
Pour les .h il faut dire au compilateur où les trouver (c'est dans les options).
Si tu n'as jamais programmé en C je te conseille de lire un tuto sur ce langage.
Et ce n'est pas ob0000000 mais 0b.
Mais essaie déjà d'inclure le .h avant de corriger les erreurs.
j'ai lu des tutorial
en faite pour le 16f877.H = il ne faut pas mettre le includ apparemment car il y est dans la configuration
En fait j'ai leu les 3/4 des mes erreurs était des erreurs d'inattention ! ( le ob au lieu de 0b et oubli de ; )
Il me reste sa comme erreurs :
Apparamant des probleme avec mes sortieWarning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 2.24 manque le type basic; entier (int) supposé
Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 2.26 identificateur "RB1" indefini
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 2.29 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 2.29 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 3.21 manque le type basic; entier (int) supposé
Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 3.23 identificateur "RB2" indefini
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 3.26 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 3.26 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 4.22 manque le type basic; entier (int) supposé
Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 4.24 identificateur "RB3" indefini
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 4.27 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 4.27 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 5.24 manque le type basic; entier (int) supposé
Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 5.26 identificateur "RB7" indefini
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 5.29 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 5.29 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 6.21 manque le type basic; entier (int) supposé
Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 6.23 identificateur "RC1" indefini
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 6.26 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 6.26 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 7.22 manque le type basic; entier (int) supposé
Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 7.24 identificateur "RC4" indefini
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 7.27 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 7.27 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 8.24 manque le type basic; entier (int) supposé
Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 8.26 identificateur "RB5" indefini
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 8.29 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 8.29 expression entière requise
En faite je ne c'est pas si mon fichier P16F877 ( nom sous windows P16f877.INC ) est bien charger
J'utilise HI-TECH C PRO pour MPLAB
Merci
Les erreurs reste même si j'ai :
[code]unsigned double frequence;
unsigned double vitesse;
unsigned char taille;
unsigned double t_eau;
unsigned double essence;
unsigned double t_huile;
[/code ]
au début
Que signifie "il est dans la configuration" ? Il faut inclure tous les .h qu'on utilise, ça ne se fait pas automatiquement.en faite pour le 16f877.H = il ne faut pas mettre le includ apparemment car il y est dans la configuration
Je ne sais pas si les fichiers sont les mêmes sur la version lite et la pro, mais dans le répertoire include de la lite, il n'y a pas de fichier 16f877.h. Il faut inclure <htc.h> qui va se charger d'inclure le bon fichier en fonction du device choisi sous MPLAB. En l'occurence : <pic1687x.h>
Merci ta solution fonctionne !
Voici les erreur mais je ne voit pas surtout pour le OPTION_REG
arning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 2.24 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 2.29 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 2.29 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 3.21 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 3.26 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 3.26 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 4.22 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 4.27 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 4.27 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 5.24 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 5.29 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 5.29 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 6.21 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 6.26 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 6.26 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 7.22 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 7.27 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 7.27 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 8.24 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 8.29 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 8.29 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 9.21 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 9.26 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 9.26 expression entière requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 10.22 manque le type basic; entier (int) supposé
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 10.27 expression contante requise
Error [236] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 10.27 expression entière requise
Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 29.1 identificateur "OPTION_REG" indefini
Error [285] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.1 pas d'identificateur dans la déclaration
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.1 manque le type basic; entier (int) supposé
Error [314] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.1 ";" attendu
Il faudrait que je voie ton code avec les numéros de lignes, ce serait plus simple, surtout si tu l'as modifié.
Voila Le code C + schéma pour plus de compréhension
2.29 ça signifie quoi ? C'est la ligne 29 ? Parce qu'à la ligne 29 il y a PORTC=0;Code:Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 2.29 expression contante requise
Si tu cliques dessus sous MPLAB il t'amènes bien à cette ligne ?
Non désole c'est sa m'amène a la ligne 2 donc au PORT_BASCULE_D_VITESSE @ RB1;
ok. Je ne connais pas cette syntaxe. Regarde dans le fichier 1687x.h, il y a 2 possibilités :
ou définir un alias :Code:static volatile bit RB1 @ (unsigned)&PORTB*8+1;
Code:#define PORT_BASCULE_D_VITESSE RB1
merci avec #define cela fonctionne les erreurs ont disparu ( pour les define ^^ )
voila donc le code ici
et les erreur :
L'erreur OPTION_REG me choque car la commande est bien présente dans le fichier P16F877 !Error [192] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 29.1 identificateur "OPTION_REG" indefini
Error [285] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.1 pas d'identificateur dans la déclaration
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.1 manque le type basic; entier (int) supposé
Error [314] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.1 ";" attendu
Error [285] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.8 pas d'identificateur dans la déclaration
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.8 manque le type basic; entier (int) supposé
Error [314] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 35.8 ";" attendu
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 38.5 manque le type basic; entier (int) supposé
Error [984] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 38.5 type redeclaré
Error [1098] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 38.5 conflit de déclaration pour la variable "RB7"
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 39.5 manque le type basic; entier (int) supposé
Error [984] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 39.5 type redeclaré
Error [1098] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 39.5 conflit de déclaration pour la variable "RC2"
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 40.5 manque le type basic; entier (int) supposé
Error [984] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 40.5 type redeclaré
Error [1098] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 40.5 conflit de déclaration pour la variable "RB6"
Error [188] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 41.7 expression contante requise
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 42.5 manque le type basic; entier (int) supposé
Error [984] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 42.5 type redeclaré
Error [1098] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 42.5 conflit de déclaration pour la variable "RC4"
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 44.2 manque le type basic; entier (int) supposé
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 45.6 manque le type basic; entier (int) supposé
Error [984] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 45.6 type redeclaré
Error [1098] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 45.6 conflit de déclaration pour la variable "TMR0"
Warning [374] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 46.11 manque le type basic; entier (int) supposé
Error [984] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 46.11 type redeclaré
Error [1098] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 46.11 conflit de déclaration pour la variable "frequence"
Error [194] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 47.12 ")" attendue
Warning [349] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 49.6 déclaration de fonction non prototypée pour "While"
Error [313] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 49.6 corps de la fonction attendu
Error [285] C:\Documents and Settings\Carl\Mes documents\Visual Studio 2008\Projects\projet1\projet1\ main.c; 50.1 pas d'identificateur dans la déclaration
;----- OPTION_REG Bits -----------------------------------------------------
NOT_RBPU EQU H'0007'
INTEDG EQU H'0006'
T0CS EQU H'0005'
T0SE EQU H'0004'
PSA EQU H'0003'
PS2 EQU H'0002'
PS1 EQU H'0001'
PS0 EQU H'0000'