Révision 863
Ajouté par abseck1 il y a presque 4 ans
branch/aseck/sp4a12/main.c | ||
---|---|---|
float d ;
|
||
num_zone=distance_a_la_plus_proche_zone(p,zones,sizeof(zones),&d);
|
||
|
||
if (num_zone!=2 & fabs(d-44.85)>0.5)
|
||
if (num_zone!=2 && fabs(d-44.85)>0.5)
|
||
{
|
||
printf(("erreur test distance la plus proche "));
|
||
exit(-1);
|
branch/aseck/sp4c12/SP4c1/SP4c1/SessionM32C_E8a_SYSTEM.hsf | ||
---|---|---|
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FE0000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FFFFFF"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "000000000000C400"
|
||
... | ... | |
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp98" "0"
|
||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp99" "0"
|
||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollHorz" "0"
|
||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollVert" "2"
|
||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollVert" "0"
|
||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth0" "200"
|
||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth1" "100"
|
||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth2" "100"
|
||
... | ... | |
0
|
||
[WINDOW_POSITION_STATE_DATA_VD1]
|
||
"Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.12" 180 1600 -279 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
||
"{WK_00000001_IO}SP4c1SessionM32C_E8a_SYSTEM" "WINDOW" 59422 0 0 "0.50" 180 1600 -279 350 200 18 0 "32817|32826|32819|32820|32821" "0.0"
|
||
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 180 534 287 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
|
||
"{WK_00000001_CmdLine}" "WINDOW" 59422 0 2 "0.07" 180 1600 -279 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
||
"{WK_00000001_IO}SP4c1SessionM32C_E8a_SYSTEM" "WINDOW" 59422 0 1 "0.33" 180 1600 -279 350 200 18 0 "32817|32826|32819|32820|32821" "0.0"
|
||
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "0.67" 180 534 287 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
|
||
"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 180 534 287 350 200 18 0 "" "0.0"
|
||
"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||
"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||
... | ... | |
"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000011_CPU}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||
"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||
"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||
"{WK_TB00000014_CODE}" "TOOLBAR 0" 59419 2 6 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000016_GRAPHIC}" "TOOLBAR 0" 59419 2 7 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000023_RTOS}" "TOOLBAR 0" 59419 2 8 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 1 6 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
[WINDOW_POSITION_STATE_DATA_VD2]
|
||
[WINDOW_POSITION_STATE_DATA_VD3]
|
||
[WINDOW_POSITION_STATE_DATA_VD4]
|
||
[WINDOW_Z_ORDER]
|
||
"D:\tp_sp4_seck\sp4c12\SP4c1\SP4c1\ncrt0.a30"
|
||
"D:\tp_sp4_seck\sp4c12\SP4c1\SP4c1\SP4c1.c"
|
||
[TARGET_NAME]
|
||
"M32C E8a SYSTEM" "" 0
|
branch/aseck/sp4c12/SP4c2/SP4c2/SP4c2.c | ||
---|---|---|
|
||
while(1)
|
||
{
|
||
|
||
if (caractere_recu == '$'){
|
||
nombre_caractere = 0;
|
||
etat=reception;
|
||
checksum_trame=0;
|
||
}
|
||
break;
|
||
|
||
if (caractere_recu !='*'){
|
||
Buffer[nombre_caractere] = caractere_recu;
|
||
nombre_caractere++;
|
||
checksum_trame ^= caractere_recu;
|
||
nombre_caractere_apres_etoile = 0;
|
||
}
|
||
else
|
||
{
|
||
switch(etat)
|
||
{
|
||
case synchronisation :
|
||
if (caractere_recu == '$'){
|
||
nombre_caractere = 0;
|
||
etat=reception;
|
||
checksum_trame=0;
|
||
}
|
||
break;
|
||
|
||
case reception :
|
||
if (caractere_recu !='*'){
|
||
Buffer[nombre_caractere] = caractere_recu;
|
||
nombre_caractere++;
|
||
checksum_trame ^= caractere_recu;
|
||
nombre_caractere_apres_etoile = 0;
|
||
}
|
||
else
|
||
{
|
||
etat =checksum;
|
||
}
|
||
break;
|
||
|
||
case checksum :
|
||
if (nombre_caractere_apres_etoile==2){
|
||
etat=validation;
|
||
checksum_calculer=hex_int(checksum_fin_trame);
|
||
}
|
||
nombre_caractere_apres_etoile++;
|
||
break;
|
||
|
||
case validation :
|
||
if (checksum_trame==checksum_calculer){
|
||
etat = synchronisation;
|
||
return nombre_caractere;
|
||
}
|
||
else
|
||
{
|
||
etat = synchronisation;
|
||
return 0;
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
|
||
if (nombre_caractere_apres_etoile==2){
|
||
etat=validation;
|
||
checksum_calculer=hex_int(checksum_fin_trame);
|
||
}
|
||
nombre_caractere_apres_etoile++;
|
||
break;
|
||
|
||
if (checksum_trame==checksum_calculer){
|
||
etat = synchronisation;
|
||
return nombre_caractere;
|
||
}
|
||
else
|
||
{
|
||
etat = synchronisation;
|
||
return 0;
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
|
||
... | ... | |
|
||
|
||
|
||
/**trame1 correct**/
|
||
|
||
char trame1[]={'$','G','P','G','G','A',',','0','6','4','0','3','6','.','2','8','9',',','4','8','3','6','.','5','3','7','5',',','N',',','0','0','7','4','0','.','9','3','7','3',',','E',',','1',',','0','4',',','3','.','2',',','2','0','0','.','2',',','M',',',',',',',',','0','0','0','0','*','0','E'};
|
||
/**trame2 incorrect**/
|
||
|
||
char trame2[]={'$','G','P','G','G','A',',','1','4','1','9','1','4','.','0','0',',','4','5','4','5','.','0','0','0','0',',','N',',','0','0','3','0','6','.','6','0','3','6',',','E',',','1',',','0','5',',','3','.','4',',','4','9','9','.','3',',','M',',',',','M',',',',','*','7','D'};
|
||
|
||
|
||
|
||
int hex_int1(char *c)
|
||
{
|
||
int hex_int1(char *c) {
|
||
int i=0; /**La boucle permet de travaller sur les deux derniers caract?res du checksum de la trame re?ue**/
|
||
for(i=0; i<2; i++)
|
||
for(i=0; i<2; i++)
|
||
{
|
||
/**si le caractere est entre 0 et 9 ->retranche en ascii '0', soit 48 en d?cimal**/
|
||
if(c[i]>='0' && c[i]<='9')
|
||
... | ... | |
c[i] = c[i]-48;
|
||
}
|
||
/**si le caractere est superieur a 10, soit A en hex ->retranche le nombre 55**/
|
||
if(c[i]>='A')
|
||
if(c[i]>='A')
|
||
{
|
||
c[i] = c[i]-55;
|
||
}
|
||
... | ... | |
|
||
|
||
|
||
int rectrame(char *Buffer, char *trame)
|
||
int irectrame(char *Buffer, char *trame)
|
||
{
|
||
int nombre_caractere_apres_etoile=0;
|
||
int k=0;
|
||
... | ... | |
k++;
|
||
checksum_fin_trame[nombre_caractere_apres_etoile] = caractere_recu;
|
||
if(nombre_caractere_apres_etoile == 2)
|
||
checksum_calculer = hex_int(checksum_fin_trame);
|
||
nombre_caractere_apres_etoile++;
|
||
{
|
||
checksum_calculer = hex_int(checksum_fin_trame);
|
||
nombre_caractere_apres_etoile++;
|
||
}
|
||
}
|
||
if(checksum_trame == checksum_calculer)
|
||
return nombre_cararactere;
|
||
... | ... | |
int main(void)
|
||
{
|
||
char Buffer[80];
|
||
|
||
printf("\nombre de caractere: %d\n", rectrame(Buffer));
|
||
printf("trame valide :\nnombre de caractere : %d\n", rectrame(Buffer, trame1));
|
||
printf("trame erronee\nnombre de caractere : %d\n", rectrame(Buffer, trame2));
|
||
|
||
return 0;
|
||
}
|
||
|
Formats disponibles : Unified diff
seance c3