Revision 45 branch/vilain_sebastien/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
void commande_tourelle(short vit_rot);
124
short lecture_angle();
125
short asserv0(short consigne);
126
short consigne = 900;
127
short erreur;
128
short vitesse = 120;
123 129

  
124 130
void main()
125
{
131
{
132
	CanFrame requete, reponse;
126 133
	ports_mcu();
127 134
    lcd_init();
128 135
	periph_init();
129
	periph_nom("#AutoTest*");
136
	periph_nom("#Test*");
130 137

  
131 138
    can_init();
132 139
    clavier_init(1);
133 140
	capture_init();
134 141

  
135 142
	sta_cyc(ID_acqui);
136
//	sta_tsk(ID_periph_rx);
137

  
143
//	sta_tsk(ID_periph_rx);
144

  
145
	
146
	requete.data.id = 'V';
147
	requete.data.rtr = 0;
148
	requete.data.val=30;
149
	snd_dtq(CanTx, requete.msg);
138 150
    while(1)
139
    {
151
    {
152
		erreur = asserv0(consigne);
153
		commande_tourelle(erreur);
140 154
		LED_J=1;
141 155
		dly_tsk(100);
142 156
		LED_J=0;
......
149 163
	LED_V=!LED_V;
150 164
}
151 165

  
166
void commande_tourelle(short vit_rot)
167
{
168
	CanFrame comm;
169
	
170
	comm.data.id = 'T';
171
	comm.data.rtr = 0;
172
	comm.data.val = vit_rot;
173
	snd_dtq(CanTx, comm.msg);
174
}
175

  
176
short lecture_angle()
177
{
178
	CanFrame requete, reponse;
179
	
180
	requete.data.id = 'R';
181
	requete.data.rtr = 1;
182
	snd_dtq(CanTx, requete.msg);
183
	
184
	rcv_dtq(CanRx, &reponse.msg);
185
	return (reponse.data.val);
186
}
187

  
188
short asserv0(short consigne)
189
{
190
	int K = 2;
191
	short erreur;
192
	erreur = K*(consigne-lecture_angle());
193
	return erreur;
194
}

Also available in: Unified diff