diff --git a/demo/adc/REAEME.md b/demo/adc/REAEME.md
new file mode 100644
index 0000000..e5bdd79
--- /dev/null
+++ b/demo/adc/REAEME.md
@@ -0,0 +1,35 @@
+# STC8H Channels and Accuracy
+
+| Line | Accuracy | Channels |
+| ---------------- | ---------- | -------------- |
+| STC8H1K08 series | 10-bit | 9 channels |
+| STC8H1K28 series | 10-bit | 12 channels |
+| STC8H3K64S4 series | 12-bit | 12 channels |
+| STC8H3K64S2 series | 12-bit | 12 channels |
+| STC8H8K64U series | 12-bit | 15 channels |
+| STC8H2K64T series | 12-bit | 15 channels |
+| STC8H4K64TLR series | 12-bit | 15 channels |
+| STC8H4K64TLCD series | 12-bit | 15 channels |
+| STC8H4K64LCD series | 12-bit | 15 channels |
+
+
+# STC8G/STC8H ADC Channels Definition
+
+| | STC8H1K28 | STC8H1K08 | STC8H3K64S4
STC8H3K64S2 | STC8H8K64U
STC8H2K64T
STC8H4K64TLR | STC8H4K64TLCD
STC8H4K64LCD | STC8G1K08A | STC8G1K08
STC8G1K08T | STC8G2K64S4
STC8G2K64S2 |
+| ---- | ------------ | ------------ | -------------- | --------------- | -------------- | ---------- | ----------- | ----------- |
+| 0000 | P1.0/ADC0 | P1.0/ADC0 | P1.0/ADC0 | P1.0/ADC0 | P1.0/ADC0 | P3.0/ADC0 | P1.0/ADC0 | P1.0/ADC0 |
+| 0001 | P1.1/ADC1 | P1.1/ADC1 | P1.1/ADC1 | P1.1/ADC1 | P1.1/ADC1 | P3.1/ADC1 | P1.1/ADC1 | P1.1/ADC1 |
+| 0010 | P1.2/ADC2 | N/A | P1.2/ADC2 | P5.4/ADC2 | P5.4/ADC2 | P3.2/ADC2 | P1.2/ADC2 | P1.2/ADC2 |
+| 0011 | P1.3/ADC3 | N/A | N/A | P1.3/ADC3 | P1.3/ADC3 | P3.3/ADC3 | P1.3/ADC3 | P1.3/ADC3 |
+| 0100 | P1.4/ADC4 | N/A | N/A | P1.4/ADC4 | P1.4/ADC4 | P5.4/ADC4 | P1.4/ADC4 | P1.4/ADC4 |
+| 0101 | P1.5/ADC5 | N/A | N/A | P1.5/ADC5 | P1.5/ADC5 | P5.5/ADC5 | P1.5/ADC5 | P1.5/ADC5 |
+| 0110 | P1.6/ADC6 | N/A | P1.6/ADC6 | P1.6/ADC6 | P6.2/ADC6 | N/A | P1.6/ADC6 | P1.6/ADC6 |
+| 0111 | P1.7/ADC7 | N/A | P1.7/ADC7 | P1.7/ADC7 | P6.3/ADC7 | N/A | P1.7/ADC7 | P1.7/ADC7 |
+| 1000 | P0.0/ADC8 | P3.0/ADC8 | P0.0/ADC8 | P0.0/ADC8 | P0.0/ADC8 | N/A | P3.0/ADC8 | P0.0/ADC8 |
+| 1001 | P0.1/ADC9 | P3.1/ADC9 | P0.1/ADC9 | P0.1/ADC9 | P0.1/ADC9 | N/A | P3.1/ADC9 | P0.1/ADC9 |
+| 1010 | P0.2/ADC10 | P3.2/ADC10 | P0.2/ADC10 | P0.2/ADC10 | P0.2/ADC10 | N/A | P3.2/ADC10 | P0.2/ADC10 |
+| 1011 | P0.3/ADC11 | P3.3/ADC11 | P0.3/ADC11 | P0.3/ADC11 | P0.3/ADC11 | N/A | P3.3/ADC11 | P0.3/ADC11 |
+| 1100 | N/A | P3.4/ADC12 | P0.4/ADC12 | P0.4/ADC12 | P0.4/ADC12 | N/A | P3.4/ADC12 | P0.4/ADC12 |
+| 1101 | N/A | P3.5/ADC13 | P0.5/ADC13 | P0.5/ADC13 | P0.5/ADC13 | N/A | P3.5/ADC13 | P0.5/ADC13 |
+| 1110 | N/A | P3.6/ADC14 | P0.6/ADC14 | P0.6/ADC14 | P0.6/ADC14 | N/A | P3.6/ADC14 | P0.6/ADC14 |
+| 1111 | 1.19Vref | 1.19Vref | 1.19Vref | 1.19Vref | 1.19Vref | 1.19Vref | 1.19Vref | 1.19Vref |
diff --git a/demo/adc/adc_interrupt_10bit.c b/demo/adc/adc_interrupt_10bit.c
index 464e64e..fd6a4df 100644
--- a/demo/adc/adc_interrupt_10bit.c
+++ b/demo/adc/adc_interrupt_10bit.c
@@ -58,10 +58,11 @@ void main(void)
EXTI_ADC_SetIntState(HAL_State_ON);
// Turn on ADC power
ADC_SetPowerState(HAL_State_ON);
+ // Start ADC
+ ADC_Start();
while(1)
{
- ADC_Start();
UART1_TxString("Result: ");
UART1_TxHex(res >> 8);
UART1_TxHex(res & 0xFF);
diff --git a/demo/adc/adc_interrupt_2ch.c b/demo/adc/adc_interrupt_2ch.c
index 0e932d1..d1095ae 100644
--- a/demo/adc/adc_interrupt_2ch.c
+++ b/demo/adc/adc_interrupt_2ch.c
@@ -78,6 +78,7 @@ void main(void)
ADC_SetPowerState(HAL_State_ON);
// Set ADC1(P1.1), ADC2(P1.2) HIP
GPIO_P1_SetMode(GPIO_Pin_1|GPIO_Pin_2, GPIO_Mode_Input_HIP);
+ // Start ADC
ADC_Start();
while(1)