diff --git a/ch32v003fun/ch32v003fun.h b/ch32v003fun/ch32v003fun.h
index 4b33a1b1c8fb51cb8dc0c689c6e1ef68c40e0fc1..f75a27e42006f9456ba80395ef8cfc792cc6d9a7 100644
--- a/ch32v003fun/ch32v003fun.h
+++ b/ch32v003fun/ch32v003fun.h
@@ -4838,8 +4838,8 @@ void DefaultIRQHandler( void ) __attribute__((section(".text.vector_handler")))
 
 void DelaySysTick( uint32_t n );
 
-#define Delay_Us(n) DelaySysTick( n * DELAY_US_TIME )
-#define Delay_Ms(n) DelaySysTick( n * DELAY_MS_TIME )
+#define Delay_Us(n) DelaySysTick( (n) * DELAY_US_TIME )
+#define Delay_Ms(n) DelaySysTick( (n) * DELAY_MS_TIME )
 
 // Tricky: We need to make sure main and SystemInit() are preserved.
 int main() __attribute__((used));