- timeval[timer] = 60000 * (unsigned long)min;\r
- timeval[timer] += 1000 * (unsigned long)sec;\r
- timeval[timer] += 1 * (unsigned long)ms;\r
+ unsigned long tval;\r
+ unsigned char sreg_saved;\r
+ \r
+\r
+ tval = 60000 * (unsigned long)min;\r
+ tval += 1000 * (unsigned long)sec;\r
+ tval += 1 * (unsigned long)ms;\r
+\r
+ sreg_saved = SREG;\r
+ cli();\r
+ timeval[timer] = tval;\r
+ SREG = sreg_saved;\r