diff --git a/ch32v003fun/ch32v003fun.h b/ch32v003fun/ch32v003fun.h
index c8b7f99e89e11acee21c9f20ceec86d40a4523dd..ce2c4bf514cb5e05a190fbf177160caac2b8ca6f 100644
--- a/ch32v003fun/ch32v003fun.h
+++ b/ch32v003fun/ch32v003fun.h
@@ -34,6 +34,9 @@
 	#define FUNCONF_DEBUGPRINTF_TIMEOUT 160000
 #endif
 
+#if defined(FUNCONF_USE_HSI) && defined(FUNCONF_USE_HSE) && FUNCONF_USE_HSI && FUNCONF_USE_HSE
+       #error FUNCONF_USE_HSI and FUNCONF_USE_HSE cannot both be set
+#endif
 
 #if !defined( FUNCONF_USE_HSI ) && !defined( FUNCONF_USE_HSE )
 	#define FUNCONF_USE_HSI 1 // Default to use HSI
diff --git a/examples/MCOtest/funconfig.h b/examples/MCOtest/funconfig.h
index 16f4a824105f00c458bd8bf390a3e4ca79dfb7e8..271177434ebba9b36fab488289d372b5ad74313b 100644
--- a/examples/MCOtest/funconfig.h
+++ b/examples/MCOtest/funconfig.h
@@ -4,5 +4,8 @@
 #define FUNCONF_TINYVECTOR 1
 #define CH32V003           1
 
+#define FUNCONF_USE_HSE 1
+#define FUNCONF_USE_HSI 1
+
 #endif