diff --git a/ch32v003fun/ch32v003fun.c b/ch32v003fun/ch32v003fun.c
index ae83a418ef2dfdcb976b62c86a5d47fa3d2a6302..9a718df9e3b6774241106c9489b5741460bcac77 100644
--- a/ch32v003fun/ch32v003fun.c
+++ b/ch32v003fun/ch32v003fun.c
@@ -1003,6 +1003,19 @@ void WaitForDebuggerToAttach()
 
 #endif
 
+#if defined( FUNCONF_USE_DEBUGPRINTF ) && !FUNCONF_USE_DEBUGPRINTF
+int _write(int fd, const char *buf, int size)
+{
+	return size;
+}
+
+// single to debug intf
+int putchar(int c)
+{
+	return 1;
+}
+#endif
+
 void DelaySysTick( uint32_t n )
 {
 	uint32_t targend = SysTick->CNT + n;