Преглед на файлове

更新MCU工程RTC驱动在0803号更新中出现的变量异常使用问题

helen преди 2 месеца
родител
ревизия
711477d5e7

+ 5 - 5
amt630hv160-mcu/amt630hv160-mcu-iram/src/ArkmicroFiles/libcpu-amt630hv160/source/amt630hv160_rtc.c

@@ -267,7 +267,7 @@ void RTC_SetWakeup(eRTCWakeupSource src, eRTCWakeupMode mode, int enable)
 	u8 enbit;
 	u8 mbit;
 	int modebits[6] = {18, 20, 22, 24, 25};
-	u32 val;
+	u32 val, tmp;
 	int mask = !enable;
 
 	val = RTC->PMC;
@@ -304,10 +304,10 @@ void RTC_SetWakeup(eRTCWakeupSource src, eRTCWakeupMode mode, int enable)
 
 		//CANx force disable of filter to prevent failure to wake up.
 		if ((src == RTC_WAKEUP_CAN1) || (src == RTC_WAKEUP_CAN0)) {
-			mbit = 18 + RTC_WAKEUP_CAN0 - src;
-			val = RTC->RAM_L;
-			val |= (1 << mbit);
-			RTC_WriteReg(RTC_RAML, &RTC->RAM_L, val);
+			enbit = 18 + RTC_WAKEUP_CAN0 - src;
+			tmp = RTC->RAM_L;
+			tmp |= (1 << enbit);
+			RTC_WriteReg(RTC_RAML, &RTC->RAM_L, tmp);
 		}
 	}
 

+ 5 - 5
amt630hv160-mcu/amt630hv160-mcu-sram-nos/src/ArkmicroFiles/libcpu-amt630hv160/source/amt630hv160_rtc.c

@@ -267,7 +267,7 @@ void RTC_SetWakeup(eRTCWakeupSource src, eRTCWakeupMode mode, int enable)
 	u8 enbit;
 	u8 mbit;
 	int modebits[6] = {18, 20, 22, 24, 25};
-	u32 val;
+	u32 val, tmp;
 	int mask = !enable;
 
 	val = RTC->PMC;
@@ -304,10 +304,10 @@ void RTC_SetWakeup(eRTCWakeupSource src, eRTCWakeupMode mode, int enable)
 
 		//CANx force disable of filter to prevent failure to wake up.
 		if ((src == RTC_WAKEUP_CAN1) || (src == RTC_WAKEUP_CAN0)) {
-			mbit = 18 + RTC_WAKEUP_CAN0 - src;
-			val = RTC->RAM_L;
-			val |= (1 << mbit);
-			RTC_WriteReg(RTC_RAML, &RTC->RAM_L, val);
+			enbit = 18 + RTC_WAKEUP_CAN0 - src;
+			tmp = RTC->RAM_L;
+			tmp |= (1 << enbit);
+			RTC_WriteReg(RTC_RAML, &RTC->RAM_L, tmp);
 		}
 	}