Revision 174 branch/Coccallotto/Emb_App/programme_principal_etud.c

View differences:

programme_principal_etud.c
123 123
const k;
124 124
short commande;
125 125
short distance;
126
short dismur;
127
short trajectoire;
126 128
k=1;
127 129

  
128 130
CanFrame comm;
......
130 132

  
131 133
void main()
132 134
{
133
	commande=450;
135
	commande=450;			//commande de la valeur de la tourelle
136
	dismur=0x0350; 			//distance mesurer par le capteur
134 137
	ports_mcu();
135 138
    lcd_init();
136 139
	periph_init();
......
145 148

  
146 149
    while(1)
147 150
    {
148
		requete.data.id='R'; 
151
		requete.data.id='R'; 					//demande de reception de la donner du capteur tourelle
149 152
		requete.data.rtr=1;
150 153
		snd_dtq (CanTx,requete.msg); 
151 154
		rcv_dtq (CanRx,&reponse.msg); 
152
		alpha=(commande-reponse.data.val);
155
		alpha=(commande-reponse.data.val);		 //asservissement de la commande tourelle
153 156
		
154
		comm.data.id='T'; 
157
		comm.data.id='T'; 						//envoie de la donner du capteur tourelle
155 158
		comm.data.rtr=0; 
156
		comm.data.val=alpha;
159
		comm.data.val=alpha;					//correcteur du capteur pour l'asserviseement (ici =45?)
157 160
		snd_dtq (CanTx,comm.msg);
158 161
		
159
		requete.data.id='U'; 
162
		requete.data.id='U'; 					//distance mesurer par le t?l?metre
160 163
		requete.data.rtr=1;
161 164
		snd_dtq (CanTx,requete.msg); 
162 165
		rcv_dtq (CanRx,&reponse.msg); 
163 166
		distance=(reponse.data.val);
167
		trajectoire=( distance-dismur);		//asservisement pour les roues
164 168
		
165
		comm.data.id='V'; 
169
		comm.data.id='D'; 						//commande des roues
166 170
		comm.data.rtr=0; 
167
		comm.data.val=0;
171
		comm.data.val=trajectoire;
168 172
		snd_dtq (CanTx,comm.msg);
169 173
		
174
		comm.data.id='V'; 						//commande de la vitesse
175
		comm.data.rtr=0; 
176
		comm.data.val=5;
177
		snd_dtq (CanTx,comm.msg);
170 178
		
179
		
171 180
		LED_J=1;
172 181
		dly_tsk(100);
173 182
		LED_J=0;

Also available in: Unified diff