Revision 153 branch/fichot/Emb_App/programme_principal_etud.c

View differences:

programme_principal_etud.c
119 119
//				disponible. 0xab avec a-> nombre de couleurs bien plac?es et b -> couleurs pr?sentes mais mal plac?es.
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

  
123

  
124 122

  
125
void vit_rot()
126
{
127
CanFrame comm;
128
comm.data.id = 'T';
129
comm.data.rtr = 0;
130
comm.data.val = 120;
131
snd_dtq(CanTx, comm.msg);
132
}	
123
int cons=450;
124
int retour=0; 
125
int k=5;
126
int valeur=20;
127
int vitesse=80;
133 128

  
134
	
135
void angle()
136
{	
137
CanFrame req;
138
CanFrame reponse;
139
float alpha;
140
req.data.id = 'R';
141
req.data.rtr = 1;
142
snd_dtq (CanTx,req.msg); 
129
CanFrame vit_roue;
143 130

  
144
rcv_dtq(CanRx, &reponse.msg);
145
alpha = reponse.data.val; 
146
	
131

  
132
void ComMoteur(){
133
	vit_roue.data.id='V'; 
134
    vit_roue.data.rtr=0; 
135
    vit_roue.data.val=vitesse;
136
    snd_dtq (CanTx,vit_roue.msg);
147 137
}
138

  
139
void asserv()
140
{
141
	CanFrame comm;
142
	CanFrame req;
143
	CanFrame reponse;
144
	while(1){
145
                
146
    req.data.id='R'; 
147
    req.data.rtr=1;
148
 
149
    snd_dtq (CanTx,req.msg); 
150
    retour=periph[ADDR('R')].val; 
151
        
152
    comm.data.id='T'; 
153
    comm.data.rtr=0; 
154
    comm.data.val=valeur;
155
    snd_dtq (CanTx,comm.msg); 
156
    if(retour!=cons) valeur=k*(cons-retour);
157
        
158
        }
159
}
148 160

  
149 161

  
150 162

  
151 163

  
152 164

  
153 165

  
154

  
155 166
void main()
156 167
{
157 168
	ports_mcu();
......
172 183
		dly_tsk(100);
173 184
		LED_J=0;
174 185
		dly_tsk(100);
186
		
187
		asserv();
188
		ComMoteur();
175 189
	}
190
	
176 191
}		
177 192

  
178 193
void acqui()

Also available in: Unified diff