Revision 52

View differences:

branch/bacher/Emb_App/programme_principal_etud.c
123 123
int retour=0; //contient la valeur retourner par le p?riph
124 124
int k=1; //contient le gain du correcteur
125 125
int valeur=0; //contient la valeur ? envoyer
126

  
126

  
127

  
128
void asserv0()
129
{
130
	CanFrame comm;
131
	CanFrame demande;
132
	CanFrame reponse;
133
	while(1){
134
		
135
    demande.data.id='R'; 
136
    demande.data.rtr=1;
137
        
138
    snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
139
    rcv_dtq (CanRx,&reponse.msg); // Attente de la reponse
140
    retour=reponse.data.val; // contient la valeur de retour du simulateur.
141
        
142
    comm.data.id='T'; 
143
    comm.data.rtr=0; 
144
    comm.data.val=valeur;
145
    snd_dtq (CanTx,comm.msg); //on envoie la modification ? effectuer
146
	if(retour!=cons) valeur=k*(cons-retour);
147
	
148
	}
149
}	
127 150
void main()
128 151
{	
129
	CanFrame comm;
130
    CanFrame demande;
131
    CanFrame reponse;
152

  
132 153

  
133 154
	ports_mcu();
134 155
    lcd_init();
......
141 162
	
142 163
	sta_cyc(ID_acqui);
143 164
//	sta_tsk(ID_periph_rx);
144

  
165
	sta_tsk(ID_asserv0);
166
	
145 167
    while(1)
146 168
    {
147 169
		//LED_J=1;
148 170
		//dly_tsk(100);
149 171
		//LED_J=0;
150 172
		//dly_tsk(100);
151
    	demande.data.id='R'; 
152
        demande.data.rtr=1;
153
        
154
        snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
155
        rcv_dtq (CanRx,&reponse.msg); // Attente de la reponse
156
        retour=reponse.data.val; // contient la valeur de retour du simulateur.
157
        
158
        comm.data.id='T'; 
159
        comm.data.rtr=0; 
160
        comm.data.val=valeur;
161
        snd_dtq (CanTx,comm.msg); //on envoie la modification ? effectuer
162
		
163
		if(retour!=cons) valeur=k*(cons-retour);
164
                
165
        
166 173

  
167 174
	}
168 175
}
branch/bacher/Emb_App/conf_noyau.cfg
2 2
//
3 3
//    kernel.cfg : building file for MR308 Ver.4.00
4 4
//
5
//    Generated by M3T-MR308 GUI Configurator at 2013/01/08 15:28:33
5
//    Generated by M3T-MR308 GUI Configurator at 2018/12/03 14:45:59
6 6
//
7 7
////////////////////////////////////////////////////////////////////////////////
8 8

  
......
20 20

  
21 21
// max definition
22 22
maxdefine{
23
	max_task	= 3;
23
	max_task	= 4;
24 24
	max_flag	= 3;
25 25
	max_dtq	= 2;
26 26
	max_cyh	= 1;
......
61 61
	initial_start	= OFF;
62 62
	exinf	= 0x0;
63 63
};
64
task[]{
65
	entry_address	= asserv0();
66
	name	= ID_asserv0;
67
	stack_size	= 256;
68
	stack_section	= stack;
69
	priority	= 1;
70
	initial_start	= OFF;
71
	exinf	= 0x0;
72
};
64 73

  
65 74
flag[]{
66 75
	name	= ev_bus_fin_tr;

Also available in: Unified diff