jcjc07 | voila j'ai un souci, je voudrais créer un programme me permettant d'automatiser l'entretien de cuve ( d'eau ) des capteur de niveau pour le remplissage, des capteurs de niveaux pour stopper le remplissage , et un capteur pour stopper la vidange quand celle ci est déclancher ....je suis absolument novice, je voudrais enfet que les deux premier point soit autonomes et tourne continuellement,et qu'un utilisateur puisse a tout moment déclancher une vidange, mais aussi le remplissage et un filtrage ... il faudrais alors sortir de la boucle principal ....je me debat un peu et voila se que je suis parvenu a faire...maintenant je bloque un peu je ne sais pas trop quoi faire....MERCI D'AVANCE POUR VOTRE AIDE
Code :
- #include <p18f452.h> // cette librairie me bloque lorsque je veux configurer les ports...( 18F452 )
- #define cuve1nivB PORTA.1
- #define cuve1nivH PORTA.2
- #define cuve2nivB PORTC.0
- #define cuve2nivH PORTC.1
- #define captvidC1 PORTB.3
- #define captvidC2 PORTB.4
- #define vidangeC1 PORTD.0
- #define vidangeC2 PORTD.1
- #define remplisC1 PORTB.7
- #define remplisC2 PORTB.6
- #define selection PORTA.4
- #define confirmer PORTB.0
- #define EV1cuve1 PORTD.4
- #define EV1cuve2 PORTD.3
- #define EV2cuve1 PORTD.7
- #define EV2cuve2 PORTD.6
- PORTA = 0x..;
- PORTB = 0x..;
- PORTC = 0x..;
- PORTD = 0x..;
- void main (void)
- {
- int cuve1nivB,cuve2nivB,cuve1nivH,cuve2nivH,selection,confirmer; // BUILD FAILLED : syntaxe error !! ( capteurs de niveau des cuve )
- if(cuve1nivB==1)
- {
- remplisC1=1;
- }
- else
- {
- if(cuve2nivB==1)
- {
- remplisC2=1;
- }
- else
- {
- if(cuve1nivH==1)
- {
- remplisC1=0;
- }
- else
- {
- if(cuve2nivH==1)
- {
- remplisC2=0;
- return(s);
- }
- }
- }
- }
- if(selection=1,confirmer=1)break; // 2BP, permettant a l'opperateur d'intervenir ...
- printf("selectionner la cuve" );
-
- if(selection=1)printf("cuve1" );
- {
- if(confirmer=1)break;
- printf("selectionner l'opperation sur cuve 1" );
- {
- if(selection=1)printf("remplissage cuve 1" );
- if(confirmer=1)remplisC1=1;
- if(cuve1nivH=1)remplisC1=0;else
- while(1);
- }
-
- else
- if(selection=1)printf("degazage cuve 1" );
- {
- if(confirmer=1)EV1cuve1=1,EV2cuve1=2;
- tempo ( x heures , x minutes);
- EV1cuve1=0,EV2cuve1=0;
- }
- else
- if(selection=1)printf("vidange cuve 1 " );
- {
- if(confirmer=1)vidangeC1=1
- if(captvidC1=1)tempo( x minutes ) vidangeC1=0;
- else while(1)
- }
- while(1);
- }
- else
- if(selection=1)printf("cuve2" );
- {
- if(confirmer=1)break;
- printf("selectionner l'opperation sur cuve 2" );
- {
- if(selection=1)printf("remplissage cuve 2" );
- if(confirmer=1)remplisC2=1;
- if(cuve2nivH=1)remplisC2=0;else
- while(1);
- }
- else
- if(selection=1)printf("degazage cuve 2" );
- {
- if(confirmer=1)EV1cuve2=1,EV2cuve2=2;
- tempo ( x heures , x minutes);
- EV1cuve2=0,EV2cuve2=0;
- }
- else
- if(selection=1)printf("vidange cuve 2" );
- {
- if(confirmer=1)vidangeC2=1;
- if(captvidC2=1)tempo( x minutes ) vidangeC2=0;
- else while(1);
- }
- }
- while(1);
- while(1);
- }
|
Message édité par gilou le 09-05-2011 à 14:41:20
|