diff --git a/trunk/bin/mcu_C2_0B_1215_2.bin b/trunk/bin/mcu_C2_0B_1215_2.bin new file mode 100644 index 0000000..0ec2fe8 Binary files /dev/null and b/trunk/bin/mcu_C2_0B_1215_2.bin differ diff --git a/trunk/pm.c b/trunk/pm.c index 2373355..3d9eaa5 100644 --- a/trunk/pm.c +++ b/trunk/pm.c @@ -282,7 +282,7 @@ void PM_LCD_off() if( (( REG_BIT_BL_U_OFF | REG_BIT_BL_L_OFF ) & vreg_ctr[ VREG_C_IRQ_MASK3 ] ) != 0 ) { - vreg_ctr[ VREG_C_IRQ3 ] |= ( ( REG_BIT_BL_U_OFF | REG_BIT_BL_L_OFF ) & vreg_ctr[ VREG_C_IRQ_MASK3 ] ); + vreg_ctr[ VREG_C_IRQ3 ] |= ( ( REG_BIT_BL_U_OFF | REG_BIT_BL_L_OFF ) & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ); IRQ0_neg; tot = 0; while( !IRQ0 && ( ++tot != 0 ) ){;} @@ -349,13 +349,13 @@ err PM_BL_set( u8 dat ) wait_ms( 10 ); } - vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 ) + ( blset << 5 )); + vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 ) | ( blset << 5 )); { u8 tot; if( ( intset & vreg_ctr[ VREG_C_IRQ_MASK3 ] ) != 0 ) { - vreg_ctr[ VREG_C_IRQ3 ] |= ( intset & vreg_ctr[ VREG_C_IRQ_MASK3 ] ); + vreg_ctr[ VREG_C_IRQ3 ] |= ( intset & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ); IRQ0_neg; tot = 0; while( !IRQ0 && ( ++tot != 0 ) ){;}