diff --git a/trunk/pm.c b/trunk/pm.c index b3fa2d3..118c6cb 100644 --- a/trunk/pm.c +++ b/trunk/pm.c @@ -327,7 +327,6 @@ err PM_BL_set( u8 dat ) u8 blset; #endif u8 intset = 0; - u8 status_blset = 0; // RMWを行う #ifndef _PMIC_TWL_ @@ -374,8 +373,10 @@ err PM_BL_set( u8 dat ) wait_ms( 10 ); } - status_blset = ((blset & 0x01) << 1) | ((blset & 0x02) >> 1); - vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 ) | ( status_blset << 5 )); + vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 ) + | (( blset << 6 ) | ( blset << 4 )) & 0b01100000 ); + // PMICのBLのビットと、MCUのSTATUSレジスタのビット位置が逆なため入れ替え + { u8 tot;