diff --git a/ch32v003fun/ch32v003fun.c b/ch32v003fun/ch32v003fun.c
index 9a718df9e3b6774241106c9489b5741460bcac77..02d020f4287a4eae09aadb41f9a21382da412630 100644
--- a/ch32v003fun/ch32v003fun.c
+++ b/ch32v003fun/ch32v003fun.c
@@ -1003,7 +1003,8 @@ void WaitForDebuggerToAttach()
 
 #endif
 
-#if defined( FUNCONF_USE_DEBUGPRINTF ) && !FUNCONF_USE_DEBUGPRINTF
+#if (defined( FUNCONF_USE_DEBUGPRINTF ) && !FUNCONF_USE_DEBUGPRINTF) && \
+(defined( FUNCONF_USE_UARTPRINTF ) && !FUNCONF_USE_UARTPRINTF)
 int _write(int fd, const char *buf, int size)
 {
 	return size;