Revision 156

View differences:

branch/fichot/Emb_App/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
int cons=450;
124
int retour=0; 
125
int k=5;
126
int valeur=20;
127
int vitesse=80;
123
int consigne =450; 
124
int val_simu=0;
125
int k=5; 
126
int vitesse=80; 
127
int valeur = 0;
128 128

  
129 129
CanFrame vit_roue;
130 130

  
131

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

  
139

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

  
162
        
161 163

  
162 164

  
163 165

  
164

  
165

  
166
void main()
167
{
168
	ports_mcu();
169
    lcd_init();
170
	periph_init();
171
	periph_nom("#AutoTest*");
172

  
173
    can_init();
174
    clavier_init(1);
175
	capture_init();
176

  
177
	sta_cyc(ID_acqui);
178
	// sta_tsk(ID_periph_rx);
179
	
180
	while(1)
181
	{
182
		LED_J=1;
183
		dly_tsk(100);
184
		LED_J=0;
185
		dly_tsk(100);
186
		
187
		asserv();
188
		ComMoteur();
189
	}
190
	
191
}		
192

  
193
void acqui()
194
{
195
	LED_V=!LED_V;
166
void main()
167
{        
168
    ports_mcu();
169
    lcd_init();
170
    periph_init();
171
    periph_nom("#AutoTest*");
172
    can_init();
173
    clavier_init(1);
174
    capture_init();
175
    demarrer();
176
	asserv();    
177
       
178
    while(1){
179
        }
180
         
181
}
182
void acqui()
183
{
184
        LED_V=!LED_V;
196 185
}
197 186

  
198 187

  

Also available in: Unified diff