Révision 276
Ajouté par rococcallo il y a plus de 6 ans
branch/Coccallotto/Emb_App/crt0mr.a30 | ||
---|---|---|
;-----------------------------------------------------------------
|
||
__SYS_INITIAL:
|
||
LDC #__Sys_Sp,ISP ; set initial ISP
|
||
|
||
MOV.B #2,0AH
|
||
MOV.B #00,PMOD ; Set Processor Mode Register
|
||
MOV.B #0,0AH
|
branch/Coccallotto/Emb_App/programme_principal_etud.c | ||
---|---|---|
float ktourelle;
|
||
short valeurterrain;
|
||
short valeurpiste;
|
||
short numero;
|
||
short couleurcapt;
|
||
char capteur;
|
||
//distance mesurer par le capteur que l'on garde en constante ici
|
||
CanFrame comm;
|
||
CanFrame requete, reponse;
|
||
... | ... | |
void valcapt(void)
|
||
{
|
||
|
||
requete.data.id='C'; //numero de bande
|
||
requete.data.id='C'; //numero de capteur && couleur capteur
|
||
requete.data.rtr=1;
|
||
snd_dtq (CanTx,requete.msg);
|
||
//rcv_dtq (CanRx,&reponse.msg);
|
||
|
||
valeurterrain=(periph[ADDR('C')].val);
|
||
couleurcapt= valeurterrain >>8;
|
||
numero= valeurterrain&0x00FF; //num?ro du capteur
|
||
|
||
requete.data.id='M'; //numero de piste
|
||
requete.data.rtr=1;
|
||
snd_dtq (CanTx,requete.msg);
|
||
//rcv_dtq (CanRx,&reponse.msg);
|
||
valeurpiste=(periph[ADDR('M')].val);
|
||
|
||
|
||
valeurpiste= valeurpiste&0x000F; //affiche le num?ro de la piste: 1= vert 2= bleu 3= rouge....
|
||
switch(couleurcapt){ //couleur ('C','R','J','B' ou 'V')
|
||
case 86:
|
||
capteur= 'V';
|
||
break;
|
||
case 67:
|
||
capteur= 'N';
|
||
break;
|
||
case 82:
|
||
capteur= 'R';
|
||
break;
|
||
case 74:
|
||
capteur= 'J';
|
||
break;
|
||
case 66:
|
||
capteur= 'B';
|
||
break;
|
||
}
|
||
|
||
}
|
Formats disponibles : Unified diff
couleur du capteur et sont numéro sont assigner dans une variable grace a un switch.