Revision 110 branch/tronel_florian/Emb_App/programme_principal_etud.c

View differences:

programme_principal_etud.c
120 120
//'I'/73/Ox49 : D?finition du nom du v?hicule. Doit d?buter par le caract?re '#' et entraine le chargement de la configuration de piste
121 121
//				correspondant au nom du v?hicule si le nom se termine par '*'
122 122

  
123
//Variable contenant la valeur de l'angle
124
unsigned short V=0;
125

  
123
//Variable contenant l'angle obtenue
124
int Ang_o;
125
//Variable contenant l'angle souhait?
126
int Ang_s=450;
127
//Variable contenant la vitesse angulaire
128
int v_a;
129
//Gain de la r?gulation
130
int k=10;
126 131

  
127 132
void main()
128 133
{	
......
130 135
	
131 136
	//TRAME N?1 : consigne de vitesse angulaire en 10eme de ?/s
132 137
	CanFrame f1;
133
		
134 138
	//TRAME N?2 : requ?te lecture
135 139
	CanFrame r1;
136 140
	//TRAME N?3 : reponse ? requ?te
137 141
	CanFrame rep1;
138 142
	
143
	//f1
139 144
	f1.data.id='T';
140 145
	f1.data.rtr=0;
141
		
146
	//r1	
142 147
	r1.data.id='R';
143 148
	r1.data.rtr=1;
144 149
	
150
	
145 151
	ports_mcu();
146 152
    lcd_init();
147 153
	periph_init();
......
155 161
	//sta_tsk(ID_periph_rx);
156 162

  
157 163
    while(1){
164
		
165
		//periph_write('V',100);
166
		
158 167
		//on envoie une requ?te pour la lecture de notre angle		
159 168
		snd_dtq(CanTx,r1.msg);
160 169
		//on recup?re cette valeur 
161 170
		rcv_dtq(CanRx, &rep1.msg);
162 171
		//on la copie dans un "unsigned short" pour pouvoir la lire avec un point d'arr?t
163
		V=rep1.data.val;
172
		Ang_o=rep1.data.val;
164 173
		
165
    	//on fixe la consigne ? 20?/s pendant 1sec
166
		//f1.data.val=400; // 20?/s
167
		//snd_dtq(CanTx, f1.msg);
168
		//dly_tsk(1000);
169
		periph_write('T',200);
170
		dly_tsk(1000);
171
		
172
		
173
		//on stop la rotation de la tourelle avec une consigne ? 0?/s
174
		//f1.data.val=0;
175
		//snd_dtq(CanTx, f1.msg);
176
		//dly_tsk(1000);
177
		periph_write('T',0);
178
		dly_tsk(1000);
174
    	
175
		v_a=k*(Ang_s-Ang_o);
176
		periph_write('T',v_a);
177
				
179 178
	}			
180
    
181 179
}
182 180

  
183 181
void acqui()

Also available in: Unified diff