diff --git a/branches/sim/VCProj/bsr_trunk.sdf b/branches/sim/VCProj/bsr_trunk.sdf index 375d286..44b1db6 100644 Binary files a/branches/sim/VCProj/bsr_trunk.sdf and b/branches/sim/VCProj/bsr_trunk.sdf differ diff --git a/branches/sim/pedo_alg_thre_det2.c b/branches/sim/pedo_alg_thre_det2.c index 6d6bb13..8a136b0 100644 --- a/branches/sim/pedo_alg_thre_det2.c +++ b/branches/sim/pedo_alg_thre_det2.c @@ -91,9 +91,13 @@ void pedometer() u8 i; - u16 sx16 = abs( (u16)vreg_ctr[VREG_C_ACC_XH] * 256 + vreg_ctr[VREG_C_ACC_XL] ); - u16 sy16 = abs( (u16)vreg_ctr[VREG_C_ACC_YH] * 256 + vreg_ctr[VREG_C_ACC_YL] ); - u16 sz16 = abs( (u16)vreg_ctr[VREG_C_ACC_ZH] * 256 + vreg_ctr[VREG_C_ACC_ZL] ); + u16 sx16,sy16,sz16; + + DI(); + sx16 = abs( (u16)vreg_ctr[VREG_C_ACC_XH] * 256 + vreg_ctr[VREG_C_ACC_XL] ); + sy16 = abs( (u16)vreg_ctr[VREG_C_ACC_YH] * 256 + vreg_ctr[VREG_C_ACC_YL] ); + sz16 = abs( (u16)vreg_ctr[VREG_C_ACC_ZH] * 256 + vreg_ctr[VREG_C_ACC_ZL] ); + EI(); // ベクトルのノルム #ifdef _mcu_ @@ -281,6 +285,7 @@ void hosu_increment_if_necessary() } // 累積の更新 // + DI(); if( ++vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 ) // カンストチェック { if( ++vreg_ctr[ VREG_C_ACC_HOSU_M ] == 0 ) @@ -292,6 +297,7 @@ void hosu_increment_if_necessary() } } } + EI(); } @@ -347,11 +353,14 @@ void clear_hosu_hist() pool.vreg_c_ext.pedo_log[ hours ] = 0xFFFF; } while( hours != 0 ); - vreg_ctr[ VREG_C_ACC_HOSU_L ] = 0; + + DI(); + vreg_ctr[ VREG_C_ACC_HOSU_L ] = 0; vreg_ctr[ VREG_C_ACC_HOSU_M ] = 0; vreg_ctr[ VREG_C_ACC_HOSU_H ] = 0; p_record = 0; pedolog_overflow = false; + EI(); }