**示例:**
@@ -52,128 +59,3623 @@ class machine.Pin(GPIOn, direction, pullMode, level)
> GPIO对应引脚号说明:文档中提供的GPIO引脚号对应的为模块外部的引脚编号,例如EC100YCN下GPIO1对应引脚号22,这里的引脚号22为模块外部的引脚编号。可参考提供的硬件资料查看模块外部的引脚编号。
-
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号22 |
+
+
+ GPIO2 |
+ 引脚号23 |
+
+
+ GPIO3 |
+ 引脚号38 |
+
+
+ GPIO4 |
+ 引脚号53 |
+
+
+ GPIO5 |
+ 引脚号54 |
+
+
+ GPIO6 |
+ 引脚号104 |
+
+
+ GPIO7 |
+ 引脚号105 |
+
+
+ GPIO8 |
+ 引脚号106 |
+
+
+ GPIO9 |
+ 引脚号107 |
+
+
+ GPIO10 |
+ 引脚号178 |
+
+
+ GPIO11 |
+ 引脚号195 |
+
+
+ GPIO12 |
+ 引脚号196 |
+
+
+ GPIO13 |
+ 引脚号197 |
+
+
+ GPIO14 |
+ 引脚号198 |
+
+
+ GPIO15 |
+ 引脚号199 |
+
+
+ GPIO16 |
+ 引脚号203 |
+
+
+ GPIO17 |
+ 引脚号204 |
+
+
+ GPIO18 |
+ 引脚号214 |
+
+
+ GPIO19 |
+ 引脚号215 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号10 |
+
+
+ GPIO2 |
+ 引脚号11 |
+
+
+ GPIO3 |
+ 引脚号12 |
+
+
+ GPIO4 |
+ 引脚号13 |
+
+
+ GPIO5 |
+ 引脚号14 |
+
+
+ GPIO6 |
+ 引脚号15 |
+
+
+ GPIO7 |
+ 引脚号16 |
+
+
+ GPIO8 |
+ 引脚号39 |
+
+
+ GPIO9 |
+ 引脚号40 |
+
+
+ GPIO10 |
+ 引脚号48 |
+
+
+ GPIO11 |
+ 引脚号58 |
+
+
+ GPIO12 |
+ 引脚号59 |
+
+
+ GPIO13 |
+ 引脚号60 |
+
+
+ GPIO14 |
+ 引脚号61 |
+
+
+ GPIO15 |
+ 引脚号62 |
+
+
+ GPIO16 |
+ 引脚号63 |
+
+
+ GPIO17 |
+ 引脚号69 |
+
+
+ GPIO18 |
+ 引脚号70 |
+
+
+ GPIO19 |
+ 引脚号1 |
+
+
+ GPIO20 |
+ 引脚号3 |
+
+
+ GPIO21 |
+ 引脚号49 |
+
+
+ GPIO22 |
+ 引脚号50 |
+
+
+ GPIO23 |
+ 引脚号51 |
+
+
+ GPIO24 |
+ 引脚号52 |
+
+
+ GPIO25 |
+ 引脚号53 |
+
+
+ GPIO26 |
+ 引脚号54 |
+
+
+ GPIO27 |
+ 引脚号55 |
+
+
+ GPIO28 |
+ 引脚号56 |
+
+
+ GPIO29 |
+ 引脚号57 |
+
+
+ GPIO30 |
+ 引脚号2 |
+
+
+ GPIO31 |
+ 引脚号66 |
+
+
+ GPIO32 |
+ 引脚号65 |
+
+
+ GPIO33 |
+ 引脚号67 |
+
+
+ GPIO34 |
+ 引脚号64 |
+
+
+ GPIO35 |
+ 引脚号4 |
+
+
+ GPIO36 |
+ 引脚号31 |
+
+
+ GPIO37 |
+ 引脚号32 |
+
+
+ GPIO38 |
+ 引脚号33 |
+
+
+ GPIO39 |
+ 引脚号34 |
+
+
+ GPIO40 |
+ 引脚号71 |
+
+
+ GPIO41 |
+ 引脚号72 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号10 |
+
+
+ GPIO2 |
+ 引脚号11 |
+
+
+ GPIO3 |
+ 引脚号12 |
+
+
+ GPIO4 |
+ 引脚号13 |
+
+
+ GPIO5 |
+ 引脚号14 |
+
+
+ GPIO6 |
+ 引脚号15 |
+
+
+ GPIO7 |
+ 引脚号16 |
+
+
+ GPIO8 |
+ 引脚号39 |
+
+
+ GPIO9 |
+ 引脚号40 |
+
+
+ GPIO10 |
+ 引脚号48 |
+
+
+ GPIO11 |
+ 引脚号58 |
+
+
+ GPIO12 |
+ 引脚号59 |
+
+
+ GPIO13 |
+ 引脚号60 |
+
+
+ GPIO14 |
+ 引脚号61 |
+
+
+ GPIO15 |
+ 引脚号62 |
+
+
+ GPIO16 |
+ 引脚号63 |
+
+
+ GPIO17 |
+ 引脚号69 |
+
+
+ GPIO18 |
+ 引脚号70 |
+
+
+ GPIO19 |
+ 引脚号1 |
+
+
+ GPIO20 |
+ 引脚号3 |
+
+
+ GPIO21 |
+ 引脚号49 |
+
+
+ GPIO22 |
+ 引脚号50 |
+
+
+ GPIO23 |
+ 引脚号51 |
+
+
+ GPIO24 |
+ 引脚号52 |
+
+
+ GPIO25 |
+ 引脚号53 |
+
+
+ GPIO26 |
+ 引脚号54 |
+
+
+ GPIO27 |
+ 引脚号55 |
+
+
+ GPIO28 |
+ 引脚号56 |
+
+
+ GPIO29 |
+ 引脚号57 |
+
+
+ GPIO30 |
+ 引脚号2 |
+
+
+ GPIO31 |
+ 引脚号66 |
+
+
+ GPIO32 |
+ 引脚号65 |
+
+
+ GPIO33 |
+ 引脚号67 |
+
+
+ GPIO34 |
+ 引脚号64 |
+
+
+ GPIO35 |
+ 引脚号4 |
+
+
+ GPIO36 |
+ 引脚号31 |
+
+
+ GPIO37 |
+ 引脚号32 |
+
+
+ GPIO38 |
+ 引脚号33 |
+
+
+ GPIO39 |
+ 引脚号34 |
+
+
+ GPIO40 |
+ 引脚号71 |
+
+
+ GPIO41 |
+ 引脚号72 |
+
+
+ GPIO42 |
+ 引脚号109 |
+
+
+ GPIO43 |
+ 引脚号110 |
+
+
+ GPIO44 |
+ 引脚号112 |
+
+
+ GPIO45 |
+ 引脚号111 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号61(不可与GPIO31同时为gpio) |
+
+
+ GPIO2 |
+ 引脚号58(不可与GPIO32同时为gpio) |
+
+
+ GPIO3 |
+ 引脚号34(不可与GPIO41同时为gpio) |
+
+
+ GPIO4 |
+ 引脚号60(不可与GPIO34同时为gpio) |
+
+
+ GPIO5 |
+ 引脚号69(不可与GPIO35同时为gpio) |
+
+
+ GPIO6 |
+ 引脚号70(不可与GPIO36同时为gpio) |
+
+
+ GPIO7 |
+ 引脚号123(不可与GPIO43同时为gpio) |
+
+
+ GPIO8 |
+ 引脚号118 |
+
+
+ GPIO9 |
+ 引脚号9(不可与GPIO47同时为gpio) |
+
+
+ GPIO10 |
+ 引脚号1(不可与GPIO37同时为gpio) |
+
+
+ GPIO11 |
+ 引脚号4(不可与GPIO38同时为gpio) |
+
+
+ GPIO12 |
+ 引脚号3(不可与GPIO39同时为gpio) |
+
+
+ GPIO13 |
+ 引脚号2(不可与GPIO40同时为gpio) |
+
+
+ GPIO14 |
+ 引脚号54 |
+
+
+ GPIO15 |
+ 引脚号57 |
+
+
+ GPIO16 |
+ 引脚号56 |
+
+
+ GPIO17 |
+ 引脚号12 |
+
+
+ GPIO18 |
+ 引脚号33(不可与GPIO42同时为gpio) |
+
+
+ GPIO19 |
+ 引脚号124(不可与GPIO44同时为gpio) |
+
+
+ GPIO20 |
+ 引脚号122(不可与GPIO45同时为gpio) |
+
+
+ GPIO21 |
+ 引脚号121(不可与GPIO46同时为gpio) |
+
+
+ GPIO22 |
+ 引脚号48 |
+
+
+ GPIO23 |
+ 引脚号39 |
+
+
+ GPIO24 |
+ 引脚号40 |
+
+
+ GPIO25 |
+ 引脚号49 |
+
+
+ GPIO26 |
+ 引脚号50 |
+
+
+ GPIO27 |
+ 引脚号53 |
+
+
+ GPIO28 |
+ 引脚号52 |
+
+
+ GPIO29 |
+ 引脚号51 |
+
+
+ GPIO30 |
+ 引脚号59(不可与GPIO33同时为gpio) |
+
+
+ GPIO31 |
+ 引脚号66(不可与GPIO1同时为gpio) |
+
+
+ GPIO32 |
+ 引脚号63(不可与GPIO2同时为gpio) |
+
+
+ GPIO33 |
+ 引脚号67(不可与GPIO30同时为gpio) |
+
+
+ GPIO34 |
+ 引脚号65(不可与GPIO4同时为gpio) |
+
+
+ GPIO35 |
+ 引脚号137(不可与GPIO5同时为gpio) |
+
+
+ GPIO36 |
+ 引脚号62(不可与GPIO6同时为gpio) |
+
+
+ GPIO37 |
+ 引脚号98(不可与GPIO10同时为gpio) |
+
+
+ GPIO38 |
+ 引脚号95(不可与GPIO11同时为gpio) |
+
+
+ GPIO39 |
+ 引脚号119(不可与GPIO12同时为gpio) |
+
+
+ GPIO40 |
+ 引脚号100(不可与GPIO13同时为gpio) |
+
+
+ GPIO41 |
+ 引脚号120(不可与GPIO3同时为gpio) |
+
+
+ GPIO42 |
+ 引脚号16(不可与GPIO18同时为gpio) |
+
+
+ GPIO43 |
+ 引脚号10(不可与GPIO7同时为gpio) |
+
+
+ GPIO44 |
+ 引脚号14(不可与GPIO19同时为gpio) |
+
+
+ GPIO45 |
+ 引脚号15(不可与GPIO20同时为gpio) |
+
+
+ GPIO46 |
+ 引脚号13(不可与GPIO21同时为gpio) |
+
+
+ GPIO47 |
+ 引脚号99(不可与GPIO9同时为gpio) |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号27(不可与GPIO31同时为gpio) |
+
+
+ GPIO2 |
+ 引脚号26(不可与GPIO32同时为gpio) |
+
+
+ GPIO3 |
+ 引脚号24(不可与GPIO33同时为gpio) |
+
+
+ GPIO4 |
+ 引脚号25(不可与GPIO34同时为gpio) |
+
+
+ GPIO5 |
+ 引脚号13(不可与GPIO17同时为gpio) |
+
+
+ GPIO6 |
+ 引脚号135(不可与GPIO36同时为gpio) |
+
+
+ GPIO7 |
+ 引脚号136(不可与GPIO44同时为gpio) |
+
+
+ GPIO8 |
+ 引脚号133 |
+
+
+ GPIO9 |
+ 引脚号3(不可与GPIO37同时为gpio) |
+
+
+ GPIO10 |
+ 引脚号40(不可与GPIO38同时为gpio) |
+
+
+ GPIO11 |
+ 引脚号37(不可与GPIO39同时为gpio) |
+
+
+ GPIO12 |
+ 引脚号38(不可与GPIO40同时为gpio) |
+
+
+ GPIO13 |
+ 引脚号39(不可与GPIO41同时为gpio) |
+
+
+ GPIO14 |
+ 引脚号5 |
+
+
+ GPIO15 |
+ 引脚号141 |
+
+
+ GPIO16 |
+ 引脚号142 |
+
+
+ GPIO17 |
+ 引脚号121(不可与GPIO5同时为gpio) |
+
+
+ GPIO18 |
+ 引脚号65(不可与GPIO42同时为gpio) |
+
+
+ GPIO19 |
+ 引脚号64(不可与GPIO43同时为gpio) |
+
+
+ GPIO20 |
+ 引脚号139(不可与GPIO45同时为gpio) |
+
+
+ GPIO21 |
+ 引脚号126(不可与GPIO46同时为gpio) |
+
+
+ GPIO22 |
+ 引脚号127(不可与GPIO47同时为gpio) |
+
+
+ GPIO23 |
+ 引脚号33 |
+
+
+ GPIO24 |
+ 引脚号31 |
+
+
+ GPIO25 |
+ 引脚号30 |
+
+
+ GPIO26 |
+ 引脚号29 |
+
+
+ GPIO27 |
+ 引脚号28 |
+
+
+ GPIO28 |
+ 引脚号1 |
+
+
+ GPIO29 |
+ 引脚号2 |
+
+
+ GPIO30 |
+ 引脚号4 |
+
+
+ GPIO31 |
+ 引脚号125(不可与GPIO1同时为gpio) |
+
+
+ GPIO32 |
+ 引脚号124(不可与GPIO2同时为gpio) |
+
+
+ GPIO33 |
+ 引脚号123(不可与GPIO3同时为gpio) |
+
+
+ GPIO34 |
+ 引脚号122(不可与GPIO4同时为gpio) |
+
+
+ GPIO35 |
+ 引脚号42 |
+
+
+ GPIO36 |
+ 引脚号119(不可与GPIO6同时为gpio) |
+
+
+ GPIO37 |
+ 引脚号134(不可与GPIO9同时为gpio) |
+
+
+ GPIO38 |
+ 引脚号132(不可与GPIO10同时为gpio) |
+
+
+ GPIO39 |
+ 引脚号131(不可与GPIO11同时为gpio) |
+
+
+ GPIO40 |
+ 引脚号130(不可与GPIO12同时为gpio) |
+
+
+ GPIO41 |
+ 引脚号129(不可与GPIO13同时为gpio) |
+
+
+ GPIO42 |
+ 引脚号61(不可与GPIO18同时为gpio) |
+
+
+ GPIO43 |
+ 引脚号62(不可与GPIO19同时为gpio) |
+
+
+ GPIO44 |
+ 引脚号63(不可与GPIO7同时为gpio) |
+
+
+ GPIO45 |
+ 引脚号66(不可与GPIO20同时为gpio) |
+
+
+ GPIO46 |
+ 引脚号6(不可与GPIO21同时为gpio) |
+
+
+ GPIO47 |
+ 引脚号23(不可与GPIO22同时为gpio) |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号27 |
+
+
+ GPIO2 |
+ 引脚号26 |
+
+
+ GPIO3 |
+ 引脚号24 |
+
+
+ GPIO4 |
+ 引脚号25 |
+
+
+ GPIO5 |
+ 引脚号5 |
+
+
+ GPIO6 |
+ 引脚号135 |
+
+
+ GPIO7 |
+ 引脚号136 |
+
+
+ GPIO8 |
+ 引脚号68 |
+
+
+ GPIO9 |
+ 引脚号3 |
+
+
+ GPIO10 |
+ 引脚号40 |
+
+
+ GPIO11 |
+ 引脚号37 |
+
+
+ GPIO12 |
+ 引脚号38 |
+
+
+ GPIO13 |
+ 引脚号39 |
+
+
+ GPIO14 |
+ 引脚号67 |
+
+
+ GPIO15 |
+ 引脚号13 |
+
+
+ GPIO18 |
+ 引脚号65 |
+
+
+ GPIO19 |
+ 引脚号64 |
+
+
+ GPIO20 |
+ 引脚号139 |
+
+
+ GPIO22 |
+ 引脚号127 |
+
+
+ GPIO27 |
+ 引脚号28 |
+
+
+ GPIO28 |
+ 引脚号1 |
+
+
+ GPIO29 |
+ 引脚号2 |
+
+
+ GPIO30 |
+ 引脚号4 |
+
+
+ GPIO35 |
+ 引脚号42 |
+
+
+ GPIO36 |
+ 引脚号119 |
+
+
+ GPIO43 |
+ 引脚号62 |
+
+
+ GPIO44 |
+ 引脚号63(EC200ACN_LA不支持) |
+
+
+ GPIO45 |
+ 引脚号66 |
+
+
+ GPIO46 |
+ 引脚号6 |
+
+
+ GPIO47 |
+ 引脚号23 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号30 |
+
+
+ GPIO2 |
+ 引脚号31 |
+
+
+ GPIO3 |
+ 引脚号32 |
+
+
+ GPIO4 |
+ 引脚号33 |
+
+
+ GPIO5 |
+ 引脚号49 |
+
+
+ GPIO6 |
+ 引脚号50 |
+
+
+ GPIO7 |
+ 引脚号51 |
+
+
+ GPIO8 |
+ 引脚号52 |
+
+
+ GPIO9 |
+ 引脚号53 |
+
+
+ GPIO10 |
+ 引脚号54 |
+
+
+ GPIO11 |
+ 引脚号55 |
+
+
+ GPIO12 |
+ 引脚号56 |
+
+
+ GPIO13 |
+ 引脚号57 |
+
+
+ GPIO14 |
+ 引脚号58 |
+
+
+ GPIO15 |
+ 引脚号80 |
+
+
+ GPIO16 |
+ 引脚号81 |
+
+
+ GPIO17 |
+ 引脚号76 |
+
+
+ GPIO18 |
+ 引脚号77 |
+
+
+ GPIO19 |
+ 引脚号82 |
+
+
+ GPIO20 |
+ 引脚号83 |
+
+
+ GPIO21 |
+ 引脚号86 |
+
+
+ GPIO22 |
+ 引脚号87 |
+
+
+ GPIO23 |
+ 引脚号66 |
+
+
+ GPIO24 |
+ 引脚号67 |
+
+
+ GPIO25 |
+ 引脚号17 |
+
+
+ GPIO26 |
+ 引脚号18 |
+
+
+ GPIO27 |
+ 引脚号19 |
+
+
+ GPIO28 |
+ 引脚号20 |
+
+
+ GPIO29 |
+ 引脚号21 |
+
+
+ GPIO30 |
+ 引脚号22 |
+
+
+ GPIO31 |
+ 引脚号23 |
+
+
+ GPIO32 |
+ 引脚号28 |
+
+
+ GPIO33 |
+ 引脚号29 |
+
+
+ GPIO34 |
+ 引脚号38 |
+
+
+ GPIO35 |
+ 引脚号39 |
+
+
+ GPIO36 |
+ 引脚号16 |
+
+
+ GPIO37 |
+ 引脚号78 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号3 |
+
+
+ GPIO2 |
+ 引脚号4 |
+
+
+ GPIO3 |
+ 引脚号5 |
+
+
+ GPIO4 |
+ 引脚号6 |
+
+
+ GPIO5 |
+ 引脚号16 |
+
+
+ GPIO6 |
+ 引脚号20 |
+
+
+ GPIO7 |
+ 引脚号21 |
+
+
+ GPIO8 |
+ 引脚号22 |
+
+
+ GPIO9 |
+ 引脚号23 |
+
+
+ GPIO10 |
+ 引脚号25 |
+
+
+ GPIO11 |
+ 引脚号28 |
+
+
+ GPIO12 |
+ 引脚号29 |
+
+
+ GPIO13 |
+ 引脚号30 |
+
+
+ GPIO14 |
+ 引脚号31 |
+
+
+ GPIO15 |
+ 引脚号32 |
+
+
+ GPIO16 |
+ 引脚号33 |
+
+
+ GPIO17 |
+ 引脚号2 |
+
+
+ GPIO18 |
+ 引脚号8 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号4 |
+
+
+ GPIO2 |
+ 引脚号5 |
+
+
+ GPIO3 |
+ 引脚号6 |
+
+
+ GPIO4 |
+ 引脚号7 |
+
+
+ GPIO5 |
+ 引脚号18 |
+
+
+ GPIO6 |
+ 引脚号19 |
+
+
+ GPIO7 |
+ 引脚号22 |
+
+
+ GPIO8 |
+ 引脚号23 |
+
+
+ GPIO9 |
+ 引脚号25 |
+
+
+ GPIO10 |
+ 引脚号26 |
+
+
+ GPIO11 |
+ 引脚号27 |
+
+
+ GPIO12 |
+ 引脚号28 |
+
+
+ GPIO13 |
+ 引脚号40 |
+
+
+ GPIO14 |
+ 引脚号41 |
+
+
+ GPIO15 |
+ 引脚号64 |
+
+
+ GPIO16 |
+ 引脚号65 |
+
+
+ GPIO17 |
+ 引脚号66 |
+
+
+ GPIO18 |
+ 引脚号85 |
+
+
+ GPIO19 |
+ 引脚号86 |
+
+
+ GPIO20 |
+ 引脚号87 |
+
+
+ GPIO21 |
+ 引脚号88 |
+
+
+ GPIO22 |
+ 引脚号20 |
+
+
+ GPIO23 |
+ 引脚号21 |
+
+
+ GPIO24 |
+ 引脚号30 |
+
+
+ GPIO25 |
+ 引脚号34 |
+
+
+ GPIO26 |
+ 引脚号35 |
+
+
+ GPIO27 |
+ 引脚号36 |
+
+
+ GPIO28 |
+ 引脚号37 |
+
+
+ GPIO29 |
+ 引脚号38 |
+
+
+ GPIO30 |
+ 引脚号39 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号4(不可与GPIO41同时为gpio) |
+
+
+ GPIO2 |
+ 引脚号5(不可与GPIO36同时为gpio) |
+
+
+ GPIO3 |
+ 引脚号6(不可与GPIO35同时为gpio) |
+
+
+ GPIO4 |
+ 引脚号7(不可与GPIO24同时为gpio) |
+
+
+ GPIO5 |
+ 引脚号18 |
+
+
+ GPIO6 |
+ 引脚号19 |
+
+
+ GPIO7 |
+ 引脚号1(不可与GPIO37同时为gpio) |
+
+
+ GPIO8 |
+ 引脚号38 |
+
+
+ GPIO9 |
+ 引脚号25 |
+
+
+ GPIO10 |
+ 引脚号26 |
+
+
+ GPIO11 |
+ 引脚号27(不可与GPIO32同时为gpio) |
+
+
+ GPIO12 |
+ 引脚号28(不可与GPIO31同时为gpio) |
+
+
+ GPIO13 |
+ 引脚号40 |
+
+
+ GPIO14 |
+ 引脚号41 |
+
+
+ GPIO15 |
+ 引脚号64 |
+
+
+ GPIO16 |
+ 引脚号20(不可与GPIO30同时为gpio) |
+
+
+ GPIO17 |
+ 引脚号21 |
+
+
+ GPIO18 |
+ 引脚号85(使用双卡单待功能是不可复用) |
+
+
+ GPIO19 |
+ 引脚号86(使用双卡单待功能是不可复用) |
+
+
+ GPIO20 |
+ 引脚号30 |
+
+
+ GPIO21 |
+ 引脚号88 |
+
+
+ GPIO22 |
+ 引脚号36(不可与GPIO40同时为gpio) |
+
+
+ GPIO23 |
+ 引脚号37(不可与GPIO38同时为gpio) |
+
+
+ GPIO24 |
+ 引脚号16(不可与GPIO4同时为gpio) |
+
+
+ GPIO25 |
+ 引脚号39 |
+
+
+ GPIO26 |
+ 引脚号42(不可与GPIO27同时为gpio) |
+
+
+ GPIO27 |
+ 引脚号78(不可与GPIO26同时为gpio) |
+
+
+ GPIO28 |
+ 引脚号83(不可与GPIO33同时为gpio) |
+
+
+ GPIO29 |
+ 引脚号84(使用双卡单待功能时不可复用) |
+
+
+ GPIO30 |
+ 引脚号92(不可与GPIO16同时为gpio) |
+
+
+ GPIO31 |
+ 引脚号95(不可与GPIO95同时为gpio) |
+
+
+ GPIO32 |
+ 引脚号97(不可与GPIO11同时为gpio) |
+
+
+ GPIO33 |
+ 引脚号98(不可与GPIO28同时为gpio) |
+
+
+ GPIO34 |
+ 引脚号104 |
+
+
+ GPIO35 |
+ 引脚号105(不可与GPIO3同时为gpio) |
+
+
+ GPIO36 |
+ 引脚号106(不可与GPIO2同时为gpio) |
+
+
+ GPIO37 |
+ 引脚号108(不可与GPIO4同时为gpio) |
+
+
+ GPIO38 |
+ 引脚号111(不可与GPIO23同时为gpio) |
+
+
+ GPIO39 |
+ 引脚号114 |
+
+
+ GPIO40 |
+ 引脚号115(不可与GPIO22同时为gpio) |
+
+
+ GPIO41 |
+ 引脚号116(不可与GPIO1同时为gpio) |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号30 |
+
+
+ GPIO2 |
+ 引脚号31 |
+
+
+ GPIO3 |
+ 引脚号32 |
+
+
+ GPIO4 |
+ 引脚号33 |
+
+
+ GPIO5 |
+ 引脚号49 |
+
+
+ GPIO6 |
+ 引脚号50 |
+
+
+ GPIO7 |
+ 引脚号51 |
+
+
+ GPIO8 |
+ 引脚号52 |
+
+
+ GPIO9 |
+ 引脚号53 |
+
+
+ GPIO10 |
+ 引脚号54 |
+
+
+ GPIO11 |
+ 引脚号55 |
+
+
+ GPIO12 |
+ 引脚号56 |
+
+
+ GPIO13 |
+ 引脚号57 |
+
+
+ GPIO14 |
+ 引脚号58 |
+
+
+ GPIO15 |
+ 引脚号80 |
+
+
+ GPIO16 |
+ 引脚号81 |
+
+
+ GPIO17 |
+ 引脚号76 |
+
+
+ GPIO18 |
+ 引脚号77 |
+
+
+ GPIO19 |
+ 引脚号82 |
+
+
+ GPIO20 |
+ 引脚号83 |
+
+
+ GPIO21 |
+ 引脚号86(EG810M_EU不支持) |
+
+
+ GPIO22 |
+ 引脚号87(EG810M_EU不支持) |
+
+
+ GPIO23 |
+ 引脚号66 |
+
+
+ GPIO24 |
+ 引脚号67 |
+
+
+ GPIO25 |
+ 引脚号17 |
+
+
+ GPIO26 |
+ 引脚号18 |
+
+
+ GPIO27 |
+ 引脚号19 |
+
+
+ GPIO28 |
+ 引脚号20 |
+
+
+ GPIO29 |
+ 引脚号21 |
+
+
+ GPIO30 |
+ 引脚号22 |
+
+
+ GPIO31 |
+ 引脚号23 |
+
+
+ GPIO32 |
+ 引脚号28 |
+
+
+ GPIO33 |
+ 引脚号29 |
+
+
+ GPIO34 |
+ 引脚号38 |
+
+
+ GPIO35 |
+ 引脚号39 |
+
+
+ GPIO36 |
+ 引脚号16 |
+
+
+ GPIO37 |
+ 引脚号78 |
+
+
+ GPIO38 |
+ 引脚号68 |
+
+
+ GPIO39 |
+ 引脚号69 |
+
+
+ GPIO40 |
+ 引脚号74 |
+
+
+ GPIO41 |
+ 引脚号75 |
+
+
+ GPIO42 |
+ 引脚号84(EG810M_EU不支持) |
+
+
+ GPIO43 |
+ 引脚号85(EG810M_EU不支持) |
+
+
+ GPIO44 |
+ 引脚号25 |
+
+
+ GPIO45 |
+ 引脚号105 |
+
+
+ GPIO46 |
+ 引脚号104 |
+
+
+ GPIO47 |
+ 引脚号79 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号4 |
+
+
+ GPIO2 |
+ 引脚号5 |
+
+
+ GPIO3 |
+ 引脚号6 |
+
+
+ GPIO4 |
+ 引脚号7 |
+
+
+ GPIO5 |
+ 引脚号18 |
+
+
+ GPIO6 |
+ 引脚号19 |
+
+
+ GPIO7 |
+ 引脚号1 |
+
+
+ GPIO8 |
+ 引脚号16 |
+
+
+ GPIO9 |
+ 引脚号25 |
+
+
+ GPIO10 |
+ 引脚号26 |
+
+
+ GPIO11 |
+ 引脚号27 |
+
+
+ GPIO12 |
+ 引脚号28 |
+
+
+ GPIO13 |
+ 引脚号40 |
+
+
+ GPIO14 |
+ 引脚号41 |
+
+
+ GPIO15 |
+ 引脚号64 |
+
+
+ GPIO16 |
+ 引脚号20 |
+
+
+ GPIO17 |
+ 引脚号21 |
+
+
+ GPIO18 |
+ 引脚号30 |
+
+
+ GPIO19 |
+ 引脚号34 |
+
+
+ GPIO20 |
+ 引脚号35 |
+
+
+ GPIO21 |
+ 引脚号36 |
+
+
+ GPIO22 |
+ 引脚号37 |
+
+
+ GPIO23 |
+ 引脚号38 |
+
+
+ GPIO24 |
+ 引脚号39 |
+
+
+ GPIO25 |
+ 引脚号42 |
+
+
+ GPIO26 |
+ 引脚号78 |
+
+
+ GPIO27 |
+ 引脚号83 |
+
+
+ GPIO28 |
+ 引脚号92 |
+
+
+ GPIO29 |
+ 引脚号95 |
+
+
+ GPIO30 |
+ 引脚号96 |
+
+
+ GPIO31 |
+ 引脚号97 |
+
+
+ GPIO32 |
+ 引脚号98 |
+
+
+ GPIO33 |
+ 引脚号103 |
+
+
+ GPIO34 |
+ 引脚号104 |
+
+
+ GPIO35 |
+ 引脚号105 |
+
+
+ GPIO36 |
+ 引脚号106 |
+
+
+ GPIO37 |
+ 引脚号107 |
+
+
+ GPIO38 |
+ 引脚号114 |
+
+
+ GPIO39 |
+ 引脚号115 |
+
+
+ GPIO40 |
+ 引脚号116 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ 注: |
+
+
+ 1.I&PU:输入模式下,仅支持浮空和上拉模式 |
+
+
+ 2.I&PD:输入模式下,仅支持浮空和下拉模式 |
+
+
+ 3.EC600E的ExtInt功能不支持上升和下降沿同时触发中断 |
+
+
+ GPIO1 |
+ 引脚号10(I&PU) |
+
+
+ GPIO2 |
+ 引脚号11(57)(I&PU)(不可与GPIO41同时为gpio) |
+
+
+ GPIO3 |
+ 引脚号12(56)(I&PU)(不可与GPIO40同时为gpio) |
+
+
+ GPIO4 |
+ 引脚号13(I&PU) |
+
+
+ GPIO5 |
+ 引脚号14(I&PU) |
+
+
+ GPIO6 |
+ 引脚号15(I&PU) |
+
+
+ GPIO7 |
+ 引脚号16(I&PU) |
+
+
+ GPIO8 |
+ 引脚号39(I&PD) |
+
+
+ GPIO9 |
+ 引脚号40(I&PU) |
+
+
+ GPIO10 |
+ 引脚号48(I&PD) |
+
+
+ GPIO11 |
+ 引脚号58(I&PD) |
+
+
+ GPIO12 |
+ 引脚号59(I&PD) |
+
+
+ GPIO13 |
+ 引脚号60(I&PD)(不可与GPIO36同时为gpio) |
+
+
+ GPIO14 |
+ 引脚号61(I&PD) |
+
+
+ GPIO15 |
+ 引脚号62(I&PU)(EC600ECN_LE&LQ不可用) |
+
+
+ GPIO16 |
+ 引脚号63(I&PD)(EC600ECN_LE&LQ不可用) |
+
+
+ GPIO17 |
+ 引脚号69(I&PU)(EC600ECN_LE&LQ不可用) |
+
+
+ GPIO18 |
+ 引脚号70(I&PU)(EC600ECN_LE&LQ不可用) |
+
+ GPIO22 |
+ 引脚号50(I&PD) |
+
+
+ GPIO23 |
+ 引脚号51(I&PD) |
+
+
+ GPIO24 |
+ 引脚号52(I&PD) |
+
+
+ GPIO25 |
+ 引脚号53(I&PD) |
+
+
+ GPIO26 |
+ 引脚号54(I&PD) |
+
+
+ GPIO31 |
+ 引脚号66(I&PU)(EC600ECN_LE&LQ不可用) |
+
+
+ GPIO32 |
+ 引脚号65(I&PU)(EC600ECN_LE&LQ不可用) |
+
+
+ GPIO33 |
+ 引脚号67(I&PU)(EC600ECN_LE&LQ不可用) |
+
+
+ GPIO34 |
+ 引脚号64(I&PU)(EC600ECN_LE&LQ不可用) |
+
+
+ GPIO36 |
+ 引脚号31(I&PU)(不可与GPIO13同时为gpio) |
+
+
+ GPIO37 |
+ 引脚号32(I&PU) |
+
+
+ GPIO38 |
+ 引脚号33(I&PU) |
+
+
+ GPIO39 |
+ 引脚号34(I&PU) |
+
+
+ GPIO40 |
+ 引脚号71(I&PU)(不可与GPIO3同时为gpio) |
+
+
+ GPIO41 |
+ 引脚号72(I&PU)(不可与GPIO2同时为gpio) |
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ 注: |
+
+
+ 1.I&PU:输入模式下,仅支持浮空和上拉模式 |
+
+
+ 2.I&PD:输入模式下,仅支持浮空和下拉模式 |
+
+
+ 3.EC800ECN_LE&LQ&CG不可用:指该型号模块的引脚内部悬空,所以无法使用 |
+
+
+ 4.模组的Pin67、Pin66 和Pin57、Pin58 共用内部同一路IO,即改变GPIO13的电平,Pin57和Pin67会同时变化 |
+
+
+ 5.在EC800ECN_LE&LQ&CG型号的模组上,Pin57、Pin58内部悬空,所以仅可使用Pin67、Pin66作为GPIO13、14 |
+
+
+ 6.EC800E的ExtInt功能不支持上升和下降沿同时触发中断 |
+
+
+ 7.Pin55、80、81分别不可与Pin64、63、62(SIM2管脚)同时使用 |
+
+
+ GPIO1 |
+ 引脚号30(I&PD) |
+
+
+ GPIO2 |
+ 引脚号31(I&PD) |
+
+
+ GPIO3 |
+ 引脚号32(I&PD) |
+
+
+ GPIO4 |
+ 引脚号33(I&PD)(不可与GPIO25同时为gpio) |
+
+
+ GPIO5 |
+ 引脚号49(I&PD)(EC800ECN_LE&LQ&CG不可用) |
+
+
+ GPIO6 |
+ 引脚号50(I&PU)(EC800ECN_LE&LQ&CG不可用) |
+
+
+ GPIO7 |
+ 引脚号51(I&PU)(EC800ECN_LE&LQ&CG不可用) |
+
+
+ GPIO8 |
+ 引脚号52(I&PU)(EC800ECN_LE&LQ&CG不可用) |
+
+
+ GPIO9 |
+ 引脚号53(I&PU)(EC800ECN_LE&LQ&CG不可用) |
+
+
+ GPIO10 |
+ 引脚号54(I&PU)(EC800ECN_LE&LQ&CG不可用) |
+
+
+ GPIO11 |
+ 引脚号55(I&PU)(EC800ECN_LE&LQ&CG不可用,不可与64脚同时使用) |
+
+
+ GPIO12 |
+ 引脚号56(I&PU)(EC800ECN_LE&LQ&CG不可用) |
+
+
+ GPIO13 |
+ 引脚号57(67)(I&PU)(EC800ECN_LE&LQ&CG引脚号57无法使用)(不可与GPIO34同时为gpio) |
+
+
+ GPIO14 |
+ 引脚号58(66)(I&PU)(EC800ECN_LE&LQ&CG引脚号58无法使用)(不可与GPIO35同时为gpio) |
+
+
+ GPIO15 |
+ 引脚号80(I&PU)(EC800ECN_LE&LQ&CG不可用,不可与63脚同时使用) |
+
+
+ GPIO16 |
+ 引脚号81(I&PU)(EC800ECN_LE&LQ&CG不可用,不可与62脚同时使用) |
+
+
+ GPIO25 |
+ 引脚号17(I&PU)(不可与GPIO4同时为gpio) |
+
+
+ GPIO26 |
+ 引脚号18(I&PU) |
+
+ GPIO27 |
+ 引脚号19(I&PD) |
+
+
+ GPIO28 |
+ 引脚号20(I&PU) |
+
+
+ GPIO29 |
+ 引脚号21(I&PD) |
+
+
+ GPIO30 |
+ 引脚号22(I&PU) |
+
+
+ GPIO31 |
+ 引脚号23(I&PU) |
+
+
+ GPIO32 |
+ 引脚号28(I&PU) |
+
+
+ GPIO33 |
+ 引脚号29(I&PU) |
+
+
+ GPIO34 |
+ 引脚号38(I&PU)(不可与GPIO13同时为gpio) |
+
+
+ GPIO35 |
+ 引脚号39(I&PU)(不可与GPIO14同时为gpio) |
+
+
+ GPIO36 |
+ 引脚号16(I&PD) |
+
+
+ GPIO37 |
+ 引脚号78(I&PU)(EC800ECN_LE&LQ&CG不可用) |
+
+
+ GPIO38 |
+ 引脚号85(I&PD)(EC800ECN_LE&LQ&LC&CG不可用) |
+
+
+ GPIO39 |
+ 引脚号108(I&PD)(EC800ECN_LE&LQ&LC&CG不可用) |
+
+
+ GPIO40 |
+ 引脚号109(I&PD)(EC800ECN_LE&LQ&LC&CG不可用) |
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ 注: |
+
+
+ 1.AGPIO在睡眠模式状态下,电平状态保持不变,普通GPIO在睡眠状态下电平不能保持 |
+
+
+ 2.GPIO27、GPIO39、GPIO40驱动能力较弱,建议仅做输入引脚使用 |
+
+
+ GPIO1 |
+ 引脚号30 |
+
+
+ GPIO2 |
+ 引脚号31 |
+
+
+ GPIO3 |
+ 引脚号32 |
+
+
+ GPIO4 |
+ 引脚号33 |
+
+
+ GPIO5 |
+ 引脚号49 |
+
+
+ GPIO6 |
+ 引脚号50 |
+
+
+ GPIO7 |
+ 引脚号51 |
+
+
+ GPIO8 |
+ 引脚号52 |
+
+
+ GPIO9 |
+ 引脚号53 |
+
+
+ GPIO10 |
+ 引脚号54 |
+
+
+ GPIO12 |
+ 引脚号56 |
+
+
+ GPIO13 |
+ 引脚号57 |
+
+
+ GPIO14 |
+ 引脚号58 |
+
+
+ GPIO17 |
+ 引脚号25(AGPIO) |
+
+
+ GPIO23 |
+ 引脚号66(不可与GPIO26同时为gpio) |
+
+
+ GPIO24 |
+ 引脚号67(不可与GPIO25同时为gpio) |
+
+
+ GPIO25 |
+ 引脚号17(不可与GPIO24同时为gpio) |
+
+ GPIO26 |
+ 引脚号18(不可与GPIO23同时为gpio) |
+
+
+ GPIO27 |
+ 引脚号19(AGPIO,驱动能力较弱,建议仅作输入引脚使用) |
+
+
+ GPIO28 |
+ 引脚号20(AGPIO) |
+
+
+ GPIO29 |
+ 引脚号21(AGPIO) |
+
+
+ GPIO30 |
+ 引脚号22 |
+
+
+ GPIO31 |
+ 引脚号23 |
+
+
+ GPIO32 |
+ 引脚号28 |
+
+
+ GPIO33 |
+ 引脚号29 |
+
+
+ GPIO34 |
+ 引脚号38 |
+
+
+ GPIO35 |
+ 引脚号39 |
+
+
+ GPIO36 |
+ 引脚号16(AGPIO) |
+
+
+ GPIO37 |
+ 引脚号78 |
+
+
+ GPIO38 |
+ 引脚号85(AGPIO) |
+
+
+ GPIO39 |
+ 引脚号108(AGPIO,驱动能力较弱,建议仅作输入引脚使用) |
+
+
+ GPIO40 |
+ 引脚号109(AGPIO,驱动能力较弱,建议仅作输入引脚使用) |
+
+
+ GPIO41 |
+ 引脚号101 |
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号61(不可与GPIO24同时为gpio) |
+
+
+ GPIO2 |
+ 引脚号58(不可与GPIO25同时为gpio) |
+
+
+ GPIO3 |
+ 引脚号34 |
+
+
+ GPIO4 |
+ 引脚号60 |
+
+
+ GPIO5 |
+ 引脚号69(不可与GPIO10同时为gpio) |
+
+
+ GPIO6 |
+ 引脚号70(不可与GPIO11同时为gpio) |
+
+
+ GPIO7 |
+ 引脚号123 |
+
+
+ GPIO8 |
+ 引脚号132 |
+
+
+ GPIO9 |
+ 引脚号9 |
+
+
+ GPIO10 |
+ 引脚号1(不可与GPIO5同时为gpio) |
+
+
+ GPIO11 |
+ 引脚号4(不可与GPIO6同时为gpio) |
+
+
+ GPIO12 |
+ 引脚号3 |
+
+
+ GPIO13 |
+ 引脚号2 |
+
+
+ GPIO14 |
+ 引脚号54 |
+
+
+ GPIO15 |
+ 引脚号57 |
+
+
+ GPIO16 |
+ 引脚号56 |
+
+
+ GPIO17 |
+ 引脚号12 |
+
+
+ GPIO18 |
+ 引脚号33 |
+
+
+ GPIO19 |
+ 引脚号124(不可与GPIO37同时为gpio) |
+
+
+ GPIO20 |
+ 引脚号104 |
+
+
+ GPIO21 |
+ 引脚号103 |
+
+
+ GPIO22 |
+ 引脚号48 |
+
+
+ GPIO23 |
+ 引脚号39(不可与GPIO46同时为gpio) |
+
+
+ GPIO24 |
+ 引脚号40(不可与GPIO1同时为gpio) |
+
+
+ GPIO25 |
+ 引脚号49(不可与GPIO2同时为gpio) |
+
+ GPIO26 |
+ 引脚号50(不可与GPIO30同时为gpio) |
+
+
+ GPIO27 |
+ 引脚号53 |
+
+
+ GPIO28 |
+ 引脚号52 |
+
+
+ GPIO29 |
+ 引脚号51 |
+
+
+ GPIO30 |
+ 引脚号59(不可与GPIO26同时为gpio) |
+
+
+ GPIO31 |
+ 引脚号66 |
+
+
+ GPIO32 |
+ 引脚号63 |
+
+
+ GPIO33 |
+ 引脚号67 |
+
+
+ GPIO34 |
+ 引脚号65 |
+
+
+ GPIO35 |
+ 引脚号137 |
+
+
+ GPIO36 |
+ 引脚号62 |
+
+
+ GPIO37 |
+ 引脚号105(不可与GPIO19同时为gpio) |
+
+
+ GPIO38 |
+ 引脚号106 |
+
+
+ GPIO39 |
+ 引脚号107 |
+
+
+ GPIO40 |
+ 引脚号126 |
+
+
+ GPIO41 |
+ 引脚号120 |
+
+
+ GPIO42 |
+ 引脚号16 |
+
+
+ GPIO43 |
+ 引脚号10 |
+
+
+ GPIO44 |
+ 引脚号14 |
+
+
+ GPIO45 |
+ 引脚号64 |
+
+
+ GPIO46 |
+ 引脚号13(不可与GPIO23同时为gpio) |
+
+
+ GPIO47 |
+ 引脚号116 |
+
+
+ GPIO48 |
+ 引脚号31 |
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号30(不可与GPIO45同时为gpio) |
+
+
+ GPIO2 |
+ 引脚号31(不可与GPIO46同时为gpio) |
+
+
+ GPIO3 |
+ 引脚号32(不可与GPIO47同时为gpio) |
+
+
+ GPIO4 |
+ 引脚号33(不可与GPIO48同时为gpio) |
+
+
+ GPIO5 |
+ 引脚号49 |
+
+
+ GPIO6 |
+ 引脚号50(不可与GPIO50同时为gpio) |
+
+
+ GPIO7 |
+ 引脚号51 |
+
+
+ GPIO8 |
+ 引脚号52 |
+
+
+ GPIO9 |
+ 引脚号53 |
+
+
+ GPIO10 |
+ 引脚号54 |
+
+
+ GPIO11 |
+ 引脚号55 |
+
+
+ GPIO12 |
+ 引脚号25 |
+
+
+ GPIO13 |
+ 引脚号57(不可与GPIO49同时为gpio) |
+
+
+ GPIO14 |
+ 引脚号58(不可与GPIO20同时为gpio) |
+
+
+ GPIO15 |
+ 引脚号84 |
+
+
+ GPIO16 |
+ 引脚号81 |
+
+
+ GPIO17 |
+ 引脚号76(不可与GPIO35同时为gpio) |
+
+
+ GPIO18 |
+ 引脚号77 |
+
+
+ GPIO19 |
+ 引脚号82 |
+
+
+ GPIO20 |
+ 引脚号83(不可与GPIO14同时为gpio) |
+
+
+ GPIO21 |
+ 引脚号86(不可与GPIO34同时为gpio) |
+
+
+ GPIO22 |
+ 引脚号87 |
+
+
+ GPIO23 |
+ 引脚号66 |
+
+
+ GPIO24 |
+ 引脚号67 |
+
+
+ GPIO25 |
+ 引脚号17 |
+
+ GPIO26 |
+ 引脚号18 |
+
+
+ GPIO27 |
+ 引脚号19 |
+
+
+ GPIO28 |
+ 引脚号20 |
+
+
+ GPIO29 |
+ 引脚号21 |
+
+
+ GPIO30 |
+ 引脚号22 |
+
+
+ GPIO31 |
+ 引脚号23 |
+
+
+ GPIO32 |
+ 引脚号28 |
+
+
+ GPIO33 |
+ 引脚号29 |
+
+
+ GPIO34 |
+ 引脚号38(不可与GPIO21同时为gpio) |
+
+
+ GPIO35 |
+ 引脚号39(不可与GPIO17同时为gpio) |
+
+
+ GPIO36 |
+ 引脚号16 |
+
+
+ GPIO37 |
+ 引脚号78 |
+
+
+ GPIO38 |
+ 引脚号85 |
+
+
+ GPIO39 |
+ 引脚号68 |
+
+
+ GPIO40 |
+ 引脚号69 |
+
+
+ GPIO41 |
+ 引脚号80(不可与GPIO44同时为gpio) |
+
+
+ GPIO42 |
+ 引脚号107 |
+
+
+ GPIO43 |
+ 引脚号103 |
+
+
+ GPIO44 |
+ 引脚号101(不可与GPIO41同时为gpio) |
+
+
+ GPIO45 |
+ 引脚号79(不可与GPIO1同时为gpio) |
+
+
+ GPIO46 |
+ 引脚号100(不可与GPIO2同时为gpio) |
+
+
+ GPIO47 |
+ 引脚号108(不可与GPIO3同时为gpio) |
+
+
+ GPIO48 |
+ 引脚号109(不可与GPIO4同时为gpio) |
+
+
+ GPIO49 |
+ 引脚号75(不可与GPIO13同时为gpio) |
+
+
+ GPIO50 |
+ 引脚号74(不可与GPIO6同时为gpio) |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号4(不可与GPIO40同时为GPIO) |
+
+
+ GPIO2 |
+ 引脚号5(不可与GPIO36同时为GPIO) |
+
+
+ GPIO3 |
+ 引脚号6(不可与GPIO35同时为GPIO) |
+
+
+ GPIO4 |
+ 引脚号7(不可与GPIO8同时为GPIO) |
+
+
+ GPIO5 |
+ 引脚号18 |
+
+
+ GPIO6 |
+ 引脚号19 |
+
+
+ GPIO7 |
+ 引脚号1(不可与GPIO19同时为GPIO) |
+
+
+ GPIO8 |
+ 引脚号16(不可与GPIO4同时为GPIO) |
+
+
+ GPIO10 |
+ 引脚号26(EG912UGLAA不支持) |
+
+
+ GPIO11 |
+ 引脚号27(不可与GPIO31同时为GPIO) |
+
+
+ GPIO12 |
+ 引脚号28(不可与GPIO29同时为GPIO) |
+
+
+ GPIO13 |
+ 引脚号40 |
+
+
+ GPIO14 |
+ 引脚号41 |
+
+
+ GPIO15 |
+ 引脚号64(EG912UGLAA不支持) |
+
+
+ GPIO16 |
+ 引脚号20(不可与GPIO28同时为GPIO) |
+
+
+ GPIO17 |
+ 引脚号21 |
+
+
+ GPIO18 |
+ 引脚号30 |
+
+
+ GPIO19 |
+ 引脚号108(不可与GPIO7同时为GPIO) |
+
+
+ GPIO20 |
+ 引脚号88(EG912UGLAA不支持) |
+
+
+ GPIO21 |
+ 引脚号36(不可与GPIO39同时为GPIO) |
+
+
+ GPIO22 |
+ 引脚号37(不可与GPIO30同时为GPIO) |
+
+
+ GPIO23 |
+ 引脚号38 |
+
+
+ GPIO24 |
+ 引脚号39 |
+
+
+ GPIO25 |
+ 引脚号42(不可与GPIO26同时为GPIO) |
+
+ GPIO26 |
+ 引脚号78(不可与GPIO25同时为GPIO) |
+
+
+ GPIO27 |
+ 引脚号83(不可与GPIO32同时为GPIO) |
+
+
+ GPIO28 |
+ 引脚号92(不可与GPIO16同时为GPIO) |
+
+
+ GPIO29 |
+ 引脚号95(不可与GPIO12同时为GPIO) |
+
+
+ GPIO30 |
+ 引脚号111(不可与GPIO22同时为GPIO) |
+
+
+ GPIO31 |
+ 引脚号97(不可与GPIO11同时为GPIO) |
+
+
+ GPIO32 |
+ 引脚号98(不可与GPIO27同时为GPIO) |
+
+
+ GPIO34 |
+ 引脚号104 |
+
+
+ GPIO35 |
+ 引脚号105(不可与GPIO3同时为GPIO) |
+
+
+ GPIO36 |
+ 引脚号106(不可与GPIO2同时为GPIO) |
+
+
+ GPIO38 |
+ 引脚号114 |
+
+
+ GPIO39 |
+ 引脚号115(不可与GPIO21同时为GPIO) |
+
+
+ GPIO40 |
+ 引脚号116(不可与GPIO1同时为GPIO) |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号10 |
+
+
+ GPIO2 |
+ 引脚号11 |
+
+
+ GPIO3 |
+ 引脚号12 |
+
+
+ GPIO4 |
+ 引脚号13 |
+
+
+ GPIO5 |
+ 引脚号14 |
+
+
+ GPIO6 |
+ 引脚号15 |
+
+
+ GPIO7 |
+ 引脚号16 |
+
+
+ GPIO8 |
+ 引脚号39 |
+
+
+ GPIO9 |
+ 引脚号40 |
+
+
+ GPIO10 |
+ 引脚号48 |
+
+
+ GPIO11 |
+ 引脚号58 |
+
+
+ GPIO12 |
+ 引脚号59 |
+
+
+ GPIO13 |
+ 引脚号60 |
+
+
+ GPIO14 |
+ 引脚号61 |
+
+
+ GPIO15 |
+ 引脚号62 |
+
+
+ GPIO16 |
+ 引脚号63 |
+
+
+ GPIO17 |
+ 引脚号69 |
+
+
+ GPIO18 |
+ 引脚号70 |
+
+
+ GPIO19 |
+ 引脚号1 |
+
+
+ GPIO20 |
+ 引脚号3 |
+
+
+ GPIO21 |
+ 引脚号49 |
+
+
+ GPIO22 |
+ 引脚号50 |
+
+
+ GPIO23 |
+ 引脚号51 |
+
+
+ GPIO24 |
+ 引脚号52 |
+
+
+ GPIO25 |
+ 引脚号53 |
+
+
+ GPIO26 |
+ 引脚号54 |
+
+
+ GPIO27 |
+ 引脚号55(boot脚,内部有上拉) |
+
+
+ GPIO28 |
+ 引脚号56 |
+
+
+ GPIO29 |
+ 引脚号57 |
+
+
+ GPIO30 |
+ 引脚号2 |
+
+
+ GPIO31 |
+ 引脚号66 |
+
+
+ GPIO32 |
+ 引脚号65 |
+
+
+ GPIO33 |
+ 引脚号67 |
+
+
+ GPIO34 |
+ 引脚号64 |
+
+
+ GPIO35 |
+ 引脚号4 |
+
+
+ GPIO36 |
+ 引脚号31 |
+
+
+ GPIO37 |
+ 引脚号32 |
+
+
+ GPIO38 |
+ 引脚号33 |
+
+
+ GPIO39 |
+ 引脚号34 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号30 |
+
+
+ GPIO2 |
+ 引脚号31 |
+
+
+ GPIO3 |
+ 引脚号32 |
+
+
+ GPIO4 |
+ 引脚号33 |
+
+
+ GPIO5 |
+ 引脚号49 |
+
+
+ GPIO6 |
+ 引脚号50 |
+
+
+ GPIO7 |
+ 引脚号51 |
+
+
+ GPIO8 |
+ 引脚号52 |
+
+
+ GPIO9 |
+ 引脚号53 |
+
+
+ GPIO10 |
+ 引脚号54(EG800KCN不可用) |
+
+
+ GPIO11 |
+ 引脚号55(EG800KCN不可用) |
+
+
+ GPIO12 |
+ 引脚号56(EG800KCN不可用) |
+
+
+ GPIO13 |
+ 引脚号57(EG800KCN不可用) |
+
+
+ GPIO14 |
+ 引脚号58(EG800KCN不可用) |
+
+
+ GPIO15 |
+ 引脚号80(EG800KCN不可用) |
+
+
+ GPIO16 |
+ 引脚号81 |
+
+
+ GPIO17 |
+ 引脚号76 |
+
+
+ GPIO18 |
+ 引脚号77 |
+
+
+ GPIO19 |
+ 引脚号82 |
+
+
+ GPIO21 |
+ 引脚号86 |
+
+
+ GPIO22 |
+ 引脚号87 |
+
+
+ GPIO23 |
+ 引脚号66 |
+
+
+ GPIO24 |
+ 引脚号67 |
+
+
+ GPIO25 |
+ 引脚号17 |
+
+
+ GPIO26 |
+ 引脚号18 |
+
+
+ GPIO27 |
+ 引脚号19 |
+
+
+ GPIO28 |
+ 引脚号20 |
+
+
+ GPIO29 |
+ 引脚号21 |
+
+
+ GPIO30 |
+ 引脚号22 |
+
+
+ GPIO31 |
+ 引脚号23 |
+
+
+ GPIO32 |
+ 引脚号28(EG800KCN不可用) |
+
+
+ GPIO33 |
+ 引脚号29(EG800KCN不可用) |
+
+
+ GPIO36 |
+ 引脚号16 |
+
+
+ GPIO37 |
+ 引脚号78 |
+
+
+ GPIO38 |
+ 引脚号68 |
+
+
+ GPIO39 |
+ 引脚号16 |
+
+
+ GPIO40 |
+ 引脚号74 |
+
+
+ GPIO41 |
+ 引脚号75 |
+
+
+ GPIO44 |
+ 引脚号25 |
+
+
+ GPIO47 |
+ 引脚号79 |
+
+
+
+
+
+
+
+ 引脚号 |
+
+
+
+
+ 引脚号6 |
+
+
+ 引脚号7 |
+
+
+ 引脚号8 |
+
+
+ 引脚号9 |
+
+
+ 引脚号10 |
+
+
+ 引脚号12 |
+
+
+ 引脚号13 |
+
+
+ 引脚号14 |
+
+
+ 引脚号15 |
+
+
+ 引脚号16 |
+
+
+ 引脚号19 |
+
+ 引脚号20 |
+
+
+ 引脚号21 |
+
+
+ 引脚号22 |
+
+
+ 引脚号23 |
+
+
+ 引脚号29 |
+
+
+
+
+
+
+
+ 引脚号 |
+
+
+
+
+ 引脚号6 |
+
+
+ 引脚号7 |
+
+
+ 引脚号8 |
+
+
+ 引脚号9 |
+
+
+ 引脚号14 |
+
+
+ 引脚号15 |
+
+
+ 引脚号16 |
+
+
+ 引脚号27 |
+
+
+ 引脚号28 |
+
+
+ 引脚号29 |
+
+
+ 引脚号30 |
+
+ 引脚号31 |
+
+
+ 引脚号34 |
+
+
+ 引脚号35 |
+
+
+ 引脚号37 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号12 |
+
+
+ GPIO2 |
+ 引脚号13 |
+
+
+ GPIO3 |
+ 引脚号41 |
+
+
+ GPIO4 |
+ 引脚号42 |
+
+
+ GPIO5 |
+ 引脚号21 |
+
+
+ GPIO6 |
+ 引脚号22 |
+
+
+ GPIO7 |
+ 引脚号23 |
+
+
+ GPIO8 |
+ 引脚号24 |
+
+
+ GPIO9 |
+ 引脚号26 |
+
+
+ GPIO10 |
+ 引脚号43 |
+
+
+ GPIO11 |
+ 引脚号44 |
+
+
+
+
+
+
+
+ GPIO号 |
+ 引脚号 |
+
+
+
+
+ GPIO1 |
+ 引脚号4 |
+
+
+ GPIO2 |
+ 引脚号5 |
+
+
+ GPIO3 |
+ 引脚号6 |
+
+
+ GPIO4 |
+ 引脚号7 |
+
+
+ GPIO5 |
+ 引脚号18 |
+
+
+ GPIO6 |
+ 引脚号19 |
+
+
+ GPIO7 |
+ 引脚号1 |
+
+
+ GPIO8 |
+ 引脚号38 |
+
+
+ GPIO9 |
+ 引脚号25 |
+
+
+ GPIO10 |
+ 引脚号26 |
+
+
+ GPIO11 |
+ 引脚号27 |
+
+
+ GPIO12 |
+ 引脚号28 |
+
+
+ GPIO13 |
+ 引脚号40 |
+
+
+ GPIO14 |
+ 引脚号41 |
+
+
+ GPIO15 |
+ 引脚号64 |
+
+
+ GPIO16 |
+ 引脚号20 |
+
+
+ GPIO17 |
+ 引脚号21 |
+
+
+ GPIO18 |
+ 引脚号34 |
+
+
+ GPIO19 |
+ 引脚号35 |
+
+
+ GPIO20 |
+ 引脚号30 |
+
+
+ GPIO21 |
+ 引脚号22 |
+
+
+ GPIO22 |
+ 引脚号36 |
+
+
+ GPIO23 |
+ 引脚号37 |
+
+
+ GPIO24 |
+ 引脚号16 |
+
+
+ GPIO25 |
+ 引脚号39 |
+
+
+ GPIO26 |
+ 引脚号23 |
+
+
+ GPIO27 |
+ 引脚号78 |
+
+
+ GPIO28 |
+ 引脚号83 |
+
+
+ GPIO29 |
+ 引脚号107 |
+
+
+ GPIO30 |
+ 引脚号92 |
+
+
+ GPIO31 |
+ 引脚号95 |
+
+
+ GPIO32 |
+ 引脚号97 |
+
+
+ GPIO33 |
+ 引脚号98 |
+
+
+ GPIO34 |
+ 引脚号104 |
+
+
+ GPIO35 |
+ 引脚号105 |
+
+
+ GPIO36 |
+ 引脚号106 |
+
+
+ GPIO37 |
+ 引脚号103 |
+
+
+ GPIO38 |
+ 引脚号96 |
+
+
+ GPIO39 |
+ 引脚号114 |
+
+
+ GPIO40 |
+ 引脚号115 |
+
+
+ GPIO41 |
+ 引脚号116 |
+
+
+
## 方法
@@ -262,60 +3764,4248 @@ Pin.get_dir()
## 常量
-| 常量 | 适配平台 | 说明 |
-| ---------------- | ------------------------------------------------------------ | -------- |
-| Pin.GPIO1 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO1 |
-| Pin.GPIO2 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO2 |
-| Pin.GPIO3 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO3 |
-| Pin.GPIO4 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO4 |
-| Pin.GPIO5 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO5 |
-| Pin.GPIO6 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO6 |
-| Pin.GPIO7 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO7 |
-| Pin.GPIO8 | EC600S / EC600N / EC100Y/EC600U/EC200U/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO8 |
-| Pin.GPIO9 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EC600K/EC800K/BC32/BC92/EC800Z | GPIO9 |
-| Pin.GPIO10 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92/EC800Z | GPIO10 |
-| Pin.GPIO11 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/BC32/BC92 | GPIO11 |
-| Pin.GPIO12 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO12 |
-| Pin.GPIO13 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/BC25PA/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO13 |
-| Pin.GPIO14 | EC600S / EC600N / EC100Y/EC600U/EC200U/BC25PA/EC800N/BG95M3/EC600M/EG915U/EC800M/
EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO14 |
-| Pin.GPIO15 | EC600S / EC600N / EC100Y/EC600U/EC200U/BC25PA/EC800N/BG95M3/EC600M/EG915U/EC800M/
EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K | GPIO15 |
-| Pin.GPIO16 | EC600S / EC600N / EC100Y/EC600U/EC200U/BC25PA/EC800N/BG95M3/EC600M/EG915U/EC800M/
EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K | GPIO16 |
-| Pin.GPIO17 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC800N/BC25PA/BG95M3/EC600M/EG915U/EC800M/
EG810M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO17 |
-| Pin.GPIO18 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/EC800N/BC25PA/BG95M3/EC600M/EG915U/EC800M/
EG810M/EG912N/EC600E/EC600G/EC800G/EG912U/EC600K/EC800K | GPIO18 |
-| Pin.GPIO19 | EC600S / EC600N / EC100Y/EC600U/EC200U/EC200A/EC800N/BG95M3/EC600M/EG915U/
EC800M/EG810M/EG912N/EC600G/EC800G/EG912U/EC600K/EC800K | GPIO19 |
-| Pin.GPIO20 | EC600S / EC600N/EC600U/EC200U/EC200A/EC800N/BG95M3/EC600M/EG915U/EC800M/
EG810M/EG912N/EC600G/EC800G/EG912U/EC600K/EC800K | GPIO20 |
-| Pin.GPIO21 | EC600S / EC600N/EC600U/EC200U/EC800N/BG95M3/EC600M/EG915U/EC800M/EG810M/
EG912N/EC600G/EC800G/EG912U/EC600K/EC800K | GPIO21 |
-| Pin.GPIO22 | EC600S / EC600N/EC600U/EC200U/EC200A/EC800N/EC600M/EG915U/EC800M/EG810M/
EG912N/EC600E/EC600G/EC800G/EG912U/EC600K/EC800K | GPIO22 |
-| Pin.GPIO23 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E
/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO23 |
-| Pin.GPIO24 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E
/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO24 |
-| Pin.GPIO25 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO25 |
-| Pin.GPIO26 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO26 |
-| Pin.GPIO27 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC800E
/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO27 |
-| Pin.GPIO28 | EC600S / EC600N/EC600U/EC200U/EC200A/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO28 |
-| Pin.GPIO29 | EC600S / EC600N/EC600U/EC200U/EC200A/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO29 |
-| Pin.GPIO30 | EC600S / EC600N/EC600U/EC200U/EC200A/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO30 |
-| Pin.GPIO31 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO31 |
-| Pin.GPIO32 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO32 |
-| Pin.GPIO33 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/
EC800E/EC600G/EC800G/EC600K/EC800K/EC800Z | GPIO33 |
-| Pin.GPIO34 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO34 |
-| Pin.GPIO35 | EC600S / EC600N/EC600U/EC200U/EC200A/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/
EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO35 |
-| Pin.GPIO36 | EC600S / EC600N/EC600U/EC200U/EC200A/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/
EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO36 |
-| Pin.GPIO37 | EC600S / EC600N/EC600U/EC200U/EC800N/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/
EC800E/EC600G/EC800G/EC600K/EC800K/EC800Z | GPIO37 |
-| Pin.GPIO38 | EC600S / EC600N/EC600U/EC200U/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/EC800E
/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO38 |
-| Pin.GPIO39 | EC600S / EC600N/EC600U/EC200U/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/EC800E
/EC600G/EC800G/EG912U/EC600K/EC800K/EC800Z | GPIO39 |
-| Pin.GPIO40 | EC600S / EC600N/EC600U/EC200U/EC600M/EG915U/EC800M/EG810M/EG912N/EC600E/EC800E
/EC600G/EC800G/EG912U/EC800K/EC800Z | GPIO40 |
-| Pin.GPIO41 | EC600S / EC600N/EC600U/EC200U/EC600M/EG915U/EC800M/EG810M/EC600E/EC800E/EC600G
/EC800G/EC800K/EC800Z | GPIO41 |
-| Pin.GPIO42 | EC600U/EC200U/EC600M/EC800M/EG810M/EC600G/EC800G/EC800K | GPIO42 |
-| Pin.GPIO43 | EC600U/EC200U/EC200A/EC600M/EC800M/EG810M/EC600G/EC800G/EC800K | GPIO43 |
-| Pin.GPIO44 | EC600U/EC200U/EC200A/EC600M/EC800M/EG810M/EC600G/EC800G/EC800K | GPIO44 |
-| Pin.GPIO45 | EC600U/EC200U/EC200A/EC600M/EC600G/EC800G/EC800K | GPIO45 |
-| Pin.GPIO46 | EC600U/EC200U/EC200A/EC600G/EC800G/EC800K | GPIO46 |
-| Pin.GPIO47 | EC600U/EC200U/EC200A/EC800G/EC800K | GPIO47 |
-| Pin.GPIO48 | EC800G | GPIO48 |
-| Pin.GPIO49 | EC800G | GPIO49 |
-| Pin.GPIO50 | EC800G | GPIO50 |
-| Pin.IN | -- | 输入模式 |
-| Pin.OUT | -- | 输出模式 |
-| Pin.PULL_DISABLE | -- | 浮空模式 |
-| Pin.PULL_PU | -- | 上拉模式 |
-| Pin.PULL_PD | -- | 下拉模式 |
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.GPIO42 |
+ GPIO42 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.GPIO45 |
+ GPIO45 |
+
+
+ Pin.GPIO46 |
+ GPIO46 |
+
+
+ Pin.GPIO47 |
+ GPIO47 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.GPIO42 |
+ GPIO42 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.GPIO45 |
+ GPIO45 |
+
+
+ Pin.GPIO46 |
+ GPIO46 |
+
+
+ Pin.GPIO47 |
+ GPIO47 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.GPIO45 |
+ GPIO45 |
+
+
+ Pin.GPIO46 |
+ GPIO46 |
+
+
+ Pin.GPIO47 |
+ GPIO47 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.GPIO42 |
+ GPIO42 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.GPIO45 |
+ GPIO45 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.GPIO42 |
+ GPIO42 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.GPIO42 |
+ GPIO42 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.GPIO42 |
+ GPIO42 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.GPIO45 |
+ GPIO45 |
+
+
+ Pin.GPIO46 |
+ GPIO46 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.GPIO42 |
+ GPIO42 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.GPIO45 |
+ GPIO45 |
+
+
+ Pin.GPIO46 |
+ GPIO46 |
+
+
+ Pin.GPIO47 |
+ GPIO47 |
+
+
+ Pin.GPIO48 |
+ GPIO48 |
+
+
+ Pin.GPIO49 |
+ GPIO49 |
+
+
+ Pin.GPIO50 |
+ GPIO50 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO15 |
+ GPIO15 |
+
+
+ Pin.GPIO16 |
+ GPIO16 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO18 |
+ GPIO18 |
+
+
+ Pin.GPIO19 |
+ GPIO19 |
+
+
+ Pin.GPIO20 |
+ GPIO20 |
+
+
+ Pin.GPIO21 |
+ GPIO21 |
+
+
+ Pin.GPIO22 |
+ GPIO22 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.GPIO42 |
+ GPIO42 |
+
+
+ Pin.GPIO43 |
+ GPIO43 |
+
+
+ Pin.GPIO44 |
+ GPIO44 |
+
+
+ Pin.GPIO45 |
+ GPIO45 |
+
+
+ Pin.GPIO46 |
+ GPIO46 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO11 |
+ GPIO11 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ Pin.GPIO1 |
+ GPIO1 |
+
+
+ Pin.GPIO2 |
+ GPIO2 |
+
+
+ Pin.GPIO3 |
+ GPIO3 |
+
+
+ Pin.GPIO4 |
+ GPIO4 |
+
+
+ Pin.GPIO5 |
+ GPIO5 |
+
+
+ Pin.GPIO6 |
+ GPIO6 |
+
+
+ Pin.GPIO7 |
+ GPIO7 |
+
+
+ Pin.GPIO8 |
+ GPIO8 |
+
+
+ Pin.GPIO9 |
+ GPIO9 |
+
+
+ Pin.GPIO10 |
+ GPIO10 |
+
+
+ Pin.GPIO12 |
+ GPIO12 |
+
+
+ Pin.GPIO13 |
+ GPIO13 |
+
+
+ Pin.GPIO14 |
+ GPIO14 |
+
+
+ Pin.GPIO17 |
+ GPIO17 |
+
+
+ Pin.GPIO23 |
+ GPIO23 |
+
+
+ Pin.GPIO24 |
+ GPIO24 |
+
+
+ Pin.GPIO25 |
+ GPIO25 |
+
+
+ Pin.GPIO26 |
+ GPIO26 |
+
+
+ Pin.GPIO27 |
+ GPIO27 |
+
+
+ Pin.GPIO28 |
+ GPIO28 |
+
+
+ Pin.GPIO29 |
+ GPIO29 |
+
+
+ Pin.GPIO30 |
+ GPIO30 |
+
+
+ Pin.GPIO31 |
+ GPIO31 |
+
+
+ Pin.GPIO32 |
+ GPIO32 |
+
+
+ Pin.GPIO33 |
+ GPIO33 |
+
+
+ Pin.GPIO34 |
+ GPIO34 |
+
+
+ Pin.GPIO35 |
+ GPIO35 |
+
+
+ Pin.GPIO36 |
+ GPIO36 |
+
+
+ Pin.GPIO37 |
+ GPIO37 |
+
+
+ Pin.GPIO38 |
+ GPIO38 |
+
+
+ Pin.GPIO39 |
+ GPIO39 |
+
+
+ Pin.GPIO40 |
+ GPIO40 |
+
+
+ Pin.GPIO41 |
+ GPIO41 |
+
+
+ Pin.IN |
+ 输入模式 |
+
+
+ Pin.OUT |
+ 输出模式 |
+
+
+ Pin.PULL_DISABLE |
+ 浮空模式 |
+
+
+ Pin.PULL_PU |
+ 上拉模式 |
+
+
+ Pin.PULL_PD |
+ 下拉模式 |
+
+
+
+
diff --git a/docs/API_reference/zh/peripherals/machine.SPI.md b/docs/API_reference/zh/peripherals/machine.SPI.md
index 7d97c61dde9ac13d6b410cd3974ed9ee1019983d..571c44606ad4726f5ad30c1c74f1d04b36a6c23a 100644
--- a/docs/API_reference/zh/peripherals/machine.SPI.md
+++ b/docs/API_reference/zh/peripherals/machine.SPI.md
@@ -6,17 +6,105 @@
### `machine.SPI`
-```python
-class machine.SPI(port, mode, clk, [group])
-```
-
-**参数描述:**
-
-- `port` - 通道选择[0,1],int类型。
-- `mode` - SPI 的工作模式,说明如下:
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
`0` : CPOL=0, CPHA=0
`1` : CPOL=0, CPHA=1
`2`: CPOL=1, CPHA=0
`3`: CPOL=1, CPHA=1
-- `clk` - 时钟频率,说明如下:
EC600N/EC600S/EC800N/BG95M3/EC600M/EC800M/EG810M/EG912N/EC200A/EC600E/EC800E/EC800Z:
`0` : 812.5kHz
`1` : 1.625MHz
`2` : 3.25MHz
`3` : 6.5MHz
`4` : 13MHz
`5` : 26MHz(EC600E/EC800E/EC800Z不支持)
`6`:52MHz(EC600E/EC800E/EC800Z不支持)
EC600U/EC200U/EG915U:
`0` : 781.25KHz
`1` : 1.5625MHz
`2` : 3.125MHz
`3` : 5MHz
`4` : 6.25MHz
`5` : 10MHz
`6` : 12.5MHz
`7` : 20MHz
`8` : 25MHz
`9` : 33.33MHz
BC25PA:
`0` :5MHz
`X` : XMHz (X in [1,39])
EC600G/EC800G:
0:97.656kHz
1:100kHz
2:812.5kHz
3:1.3MHz
4:1.625MHz
5:2MHz
6:3.25MHz
7:4.333MHz
8:6.6MHz
9:11.93MHz
10:13MHz
11:13.92MHz
12:16.7MHz
13:20.875MHz
14:27.83MHz
FCM360W/FCM362K:
0:500kHz
1:1MHz
2:5MHz
3:10MHz
4:20MHz
-- `[group]` - 选择在不同管脚使用spi,缺省值为0
-
+
+
+
+
class machine.I2C(I2Cn, MODE)
+
+
参数描述:
+
+port
- 通道选择[0,1],int类型。
+
+mode
- I2C 的工作模式,int类型,说明如下:
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
0
:CPOL=0, CPHA=0
1
:CPOL=0, CPHA=1
2
:CPOL=1, CPHA=0
3
:CPOL=1, CPHA=1
+
+clk
- 时钟频率,说明如下:
0
:812.5kHz
1
:1.625MHz
2
:3.25MHz
3
:6.5MHz
4
:13MHz
5
:26MHz
6
:52MHz
+
+[group]
- 选择在不同管脚使用spi,缺省值为0。
+
+
+
+
+
+
class machine.I2C(I2Cn, MODE)
+
+
参数描述:
+
+port
- 通道选择[0,1],int类型。
+
+mode
- I2C 的工作模式,int类型,说明如下:
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
0
:CPOL=0, CPHA=0
1
:CPOL=0, CPHA=1
2
:CPOL=1, CPHA=0
3
:CPOL=1, CPHA=1
+
+clk
- 时钟频率,说明如下:
0
:812.5kHz
1
:1.625MHz
2
:3.25MHz
3
:6.5MHz
4
:13MHz
+
+[group]
- 选择在不同管脚使用spi,缺省值为0。
+
+
+
+
+
+
class machine.I2C(I2Cn, MODE)
+
+
参数描述:
+
+port
- 通道选择[0,1],int类型。
+
+mode
- I2C 的工作模式,int类型,说明如下:
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
0
:CPOL=0, CPHA=0
1
:CPOL=0, CPHA=1
2
:CPOL=1, CPHA=0
3
:CPOL=1, CPHA=1
+
+clk
- 时钟频率,说明如下:
0
:781.25KHz
1
:1.5625MHz
2
:3.125MHz
3
:5MHz
4
:6.25MHz
5
:10MHz
6
:12.5MHz
7
:20MHz
8
:25MHz
9
:33.33MHz
+
+[group]
- 选择在不同管脚使用spi,缺省值为0。
+
+
+
+
+
+
class machine.I2C(I2Cn, MODE)
+
+
参数描述:
+
+port
- 通道选择[0,1],int类型。
+
+mode
- I2C 的工作模式,int类型,说明如下:
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
0
:CPOL=0, CPHA=0
1
:CPOL=0, CPHA=1
2
:CPOL=1, CPHA=0
3
:CPOL=1, CPHA=1
+
+clk
- 时钟频率,说明如下:
0
:781.25KHz
X
:XMHz (X in [1,39])
+
+[group]
- 选择在不同管脚使用spi,缺省值为0。
+
+
+
+
+
+
class machine.I2C(I2Cn, MODE)
+
+
参数描述:
+
+port
- 通道选择[0,1],int类型。
+
+mode
- I2C 的工作模式,int类型,说明如下:
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
0
:CPOL=0, CPHA=0
1
:CPOL=0, CPHA=1
2
:CPOL=1, CPHA=0
3
:CPOL=1, CPHA=1
+
+clk
- 时钟频率,说明如下:
0
:97.656kHz
1
:100kHz
2
:812.5kHz
3
:1.3MHz
4
:1.625MHz
5
:2MHz
6
:3.25MHz
7
:4.333MHz
8
:6.6MHz
9
:11.93MHz
10
:13MHz
11
:13.92MHz
12
:16.7MHz
13
:20.875MHz
14
:27.83MHz
+
+[group]
- 选择在不同管脚使用spi,缺省值为0。
+
+
+
+
+
+
class machine.I2C(I2Cn, MODE)
+
+
参数描述:
+
+port
- 通道选择[0,1],int类型。
+
+mode
- I2C 的工作模式,int类型,说明如下:
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平)
0
:CPOL=0, CPHA=0
1
:CPOL=0, CPHA=1
2
:CPOL=1, CPHA=0
3
:CPOL=1, CPHA=1
+
+clk
- 时钟频率,说明如下:
0
:500kHz
1
:1MHz
2
:5MHz
3
:10MHz
4
:20MHz
+
+[group]
- 选择在不同管脚使用spi,缺省值为0。
+
+
+
+
+
> BC25PA平台不支持1、2模式。
>
@@ -32,35 +120,736 @@ class machine.SPI(port, mode, clk, [group])
>>> spi_obj = SPI(1, 0, 1)
```
+
+
+
+
**SPI引脚对应关系:**
-| 平台 | 引脚 |
-| ------------- | ------------------------------------------------------------ |
-| EC600U | port0:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
port1:
CS:引脚号58
CLK:引脚号61
MOSI:引脚号59
MISO:引脚号60 |
-| EC200U | port0:
CS:引脚号134
CLK:引脚号133
MOSI:引脚号132
MISO:引脚号131
port1:
CS:引脚号26
CLK:引脚号27
MOSI:引脚号24
MISO:引脚号25 |
-| EC600S/EC600N | port0:
CS:引脚号58
CLK:引脚号61
MOSI:引脚号59
MISO:引脚号60
port1:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2 |
-| EC100Y | port0:
CS:引脚号25
CLK:引脚号26
MOSI:引脚号27
MISO:引脚号28
port1:
CS:引脚号105
CLK:引脚号104
MOSI:引脚号107
MISO:引脚号106 |
-| EC800N | port0:
CS:引脚号31
CLK:引脚号30
MOSI:引脚号32
MISO:引脚号33
port1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51 |
-| BC25PA | port0:
CS:引脚号6
CLK:引脚号5
MOSI:引脚号4
MISO:引脚号3 |
-| BG95 | port0:
CS:引脚号25
CLK:引脚号26
MOSI:引脚号27
MISO:引脚号28
port1:
CS:引脚号41
CLK:引脚号40
MOSI:引脚号64
MISO:引脚号65
port2:
CS:引脚号19
CLK:引脚号18
MOSI:引脚号23
MISO:引脚号22 |
-| EC600M | port0:
group=0:
CS:引脚号58
CLK:引脚号61
MOSI:引脚号59
MISO:引脚号60
group=1
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
port1:
group=0:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
group=1:
CS:引脚号65
CLK:引脚号67
MOSI:引脚号66
MISO:引脚号63
port2:
CS:引脚号49
CLK:引脚号54
MOSI:引脚号53
MISO:引脚号52 |
-| EG915U | port0:
CS:引脚号25
CLK:引脚号26
MOSI:引脚号64
MISO:引脚号88
port1:
CS:引脚号5
CLK:引脚号4
MOSI:引脚号6
MISO:引脚号7 |
-| EC800M/EG810M | port0:
group=0:
CS:引脚号31
CLK:引脚号30
MOSI:引脚号32
MISO:引脚号33
group=1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51
port1:
group=0:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51
group=1:(EG810M_EU不支持)
CS:引脚号69
CLK:引脚号68
MOSI:引脚号85
MISO:引脚号84
port2:
CS:引脚号76
CLK:引脚号77
MOSI:引脚号78
MISO:引脚号16 |
-| EG912N | port0:
CS:引脚号25
CLK:引脚号26
MOSI:引脚号27
MISO:引脚号28
port1:
CS:引脚号5
CLK:引脚号4
MOSI:引脚号6
MISO:引脚号7 |
-| EC200A/UC200A | port0:
CS:引脚号37
CLK:引脚号40
MOSI:引脚号38
MISO:引脚号39
port1:
CS:引脚号26
CLK:引脚号27
MOSI:引脚号25
MISO:引脚号24 |
-| EC600E | port0:(EC600ECN_LE&LQ不可用)
CS:引脚号65
CLK:引脚号67
MOSI:引脚号66
MISO:引脚号64
port1:(EC600ECN_LE&LQ不可用)
CS:引脚号69
CLK:引脚号71
MOSI:引脚号70
MISO:引脚号72 |
-| EC800E | port0:
CS:引脚号28
CLK:引脚号39
MOSI:引脚号29
MISO:引脚号38
port1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51
注:EC800ECN_LE&LQ&CG port1 不可用 |
-| EC600G | port0:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
port1:
CS:引脚号53
CLK:引脚号52
MOSI:引脚号54
MISO:引脚号51 |
-| EC800G | port1:
CS:引脚号79
CLK:引脚号101
MOSI:引脚号100
MISO:引脚号108 |
-| EG912U | port0:(EG912UGLAA不可用)
CS:引脚号25
CLK:引脚号26
MOSI:引脚号64
MISO:引脚号88
port1:
CS:引脚号5
CLK:引脚号4
MOSI:引脚号6
MISO:引脚号7 |
-| EC600K | port1:
CS:引脚号4
CLK:引脚号1
MOSI:引脚号3
MISO:引脚号2
port2:
CS:引脚号58
CLK:引脚号61
MOSI:引脚号59
MISO:引脚号60 |
-| EC800K/EG800K | port0:
CS:引脚号31
CLK:引脚号30
MOSI:引脚号32
MISO:引脚号33
port1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51
port2:
CS:引脚号74
CLK:引脚号75
MOSI:引脚号76
MISO:引脚号77 |
-| FCM360W | port0:
CS:引脚号21
CLK:引脚号22
MOSI:引脚号29
MISO:引脚号23 |
-| FCM362K | port0:
CS:引脚号29
CLK:引脚号30
MOSI:引脚号37
MISO:引脚号31 |
-| BC32 | port0
CS:引脚号41
CLK:引脚号42
MOSI:引脚号43
MISO:引脚号44 |
-| BC92 | port0
CS:引脚号41
CLK:引脚号42
MOSI:引脚号43
MISO:引脚号44 |
-| EG915N | port0
CS:引脚号5
CLK:引脚号4
MOSI:引脚号6
MISO:引脚号7 |
-| EC800Z | port0:
CS:引脚号49
CLK:引脚号29
MOSI:引脚号101
MISO:引脚号28
port1:
CS:引脚号52
CLK:引脚号53
MOSI:引脚号50
MISO:引脚号51 |
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚4 |
+ 引脚1 |
+ 引脚3 |
+ 引脚2 |
+
+
+ SPI1 |
+ 引脚58 |
+ 引脚61 |
+ 引脚59 |
+ 引脚60 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚134 |
+ 引脚133 |
+ 引脚132 |
+ 引脚131 |
+
+
+ SPI1 |
+ 引脚26 |
+ 引脚27 |
+ 引脚24 |
+ 引脚25 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚58 |
+ 引脚61 |
+ 引脚59 |
+ 引脚60 |
+
+
+ SPI1 |
+ 引脚4 |
+ 引脚1 |
+ 引脚3 |
+ 引脚2 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚25 |
+ 引脚26 |
+ 引脚27 |
+ 引脚28 |
+
+
+ SPI1 |
+ 引脚105 |
+ 引脚104 |
+ 引脚107 |
+ 引脚106 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚31 |
+ 引脚30 |
+ 引脚32 |
+ 引脚33 |
+
+
+ SPI1 |
+ 引脚52 |
+ 引脚53 |
+ 引脚50 |
+ 引脚51 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚6 |
+ 引脚5 |
+ 引脚4 |
+ 引脚3 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚25 |
+ 引脚26 |
+ 引脚27 |
+ 引脚28 |
+
+
+ SPI1 |
+ 引脚41 |
+ 引脚40 |
+ 引脚64 |
+ 引脚65 |
+
+
+ SPI2 |
+ 引脚19 |
+ 引脚18 |
+ 引脚23 |
+ 引脚22 |
+
+
+
+
+
+
+
+ SPI编号 |
+ Group |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ Group0 |
+ 引脚25 |
+ 引脚26 |
+ 引脚27 |
+ 引脚28 |
+
+
+ SPI0 |
+ Group1 |
+ 引脚4 |
+ 引脚1 |
+ 引脚3 |
+ 引脚2 |
+
+
+ SPI1 |
+ Group0 |
+ 引脚4 |
+ 引脚1 |
+ 引脚3 |
+ 引脚2 |
+
+
+ SPI1 |
+ Group1 |
+ 引脚65 |
+ 引脚67 |
+ 引脚66 |
+ 引脚63 |
+
+
+ SPI2 |
+ NULL |
+ 引脚49 |
+ 引脚54 |
+ 引脚53 |
+ 引脚52 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚25 |
+ 引脚26 |
+ 引脚64 |
+ 引脚88 |
+
+
+ SPI1 |
+ 引脚5 |
+ 引脚4 |
+ 引脚6 |
+ 引脚7 |
+
+
+
+
+
+
+
+ SPI编号 |
+ Group |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ Group0 |
+ 引脚31 |
+ 引脚30 |
+ 引脚32 |
+ 引脚33 |
+
+
+ SPI0 |
+ Group1 |
+ 引脚52 |
+ 引脚53 |
+ 引脚50 |
+ 引脚51 |
+
+
+ SPI1 |
+ Group0 |
+ 引脚52 |
+ 引脚53 |
+ 引脚50 |
+ 引脚51 |
+
+
+ SPI1 |
+ Group1(EG810M_EU不支持) |
+ 引脚69 |
+ 引脚68 |
+ 引脚85 |
+ 引脚84 |
+
+
+ SPI2 |
+ NULL |
+ 引脚76 |
+ 引脚77 |
+ 引脚78 |
+ 引脚16 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚25 |
+ 引脚26 |
+ 引脚27 |
+ 引脚28 |
+
+
+ SPI1 |
+ 引脚5 |
+ 引脚4 |
+ 引脚6 |
+ 引脚7 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚37 |
+ 引脚40 |
+ 引脚38 |
+ 引脚39 |
+
+
+ SPI1 |
+ 引脚26 |
+ 引脚27 |
+ 引脚25 |
+ 引脚24 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0(EC600ECN_LE&LQ不可用) |
+ 引脚65 |
+ 引脚67 |
+ 引脚66 |
+ 引脚64 |
+
+
+ SPI1 |
+ 引脚69 |
+ 引脚71 |
+ 引脚70 |
+ 引脚72 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚28 |
+ 引脚39 |
+ 引脚29 |
+ 引脚38 |
+
+
+ SPI1(EC800ECN_LE&LQ&CG不可用) |
+ 引脚52 |
+ 引脚53 |
+ 引脚50 |
+ 引脚51 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚4 |
+ 引脚1 |
+ 引脚3 |
+ 引脚2 |
+
+
+ SPI1(EC800ECN_LE&LQ&CG不可用) |
+ 引脚53 |
+ 引脚52 |
+ 引脚54 |
+ 引脚51 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI1 |
+ 引脚79 |
+ 引脚101 |
+ 引脚100 |
+ 引脚108 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0(EG912UGLAA不可用) |
+ 引脚25 |
+ 引脚26 |
+ 引脚64 |
+ 引脚88 |
+
+
+ SPI1 |
+ 引脚5 |
+ 引脚4 |
+ 引脚6 |
+ 引脚7 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI1 |
+ 引脚4 |
+ 引脚1 |
+ 引脚3 |
+ 引脚2 |
+
+
+ SPI2 |
+ 引脚58 |
+ 引脚61 |
+ 引脚59 |
+ 引脚60 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚31 |
+ 引脚30 |
+ 引脚32 |
+ 引脚33 |
+
+
+ SPI1 |
+ 引脚52 |
+ 引脚53 |
+ 引脚50 |
+ 引脚51 |
+
+
+ SPI2 |
+ 引脚74 |
+ 引脚75 |
+ 引脚76 |
+ 引脚77 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚21 |
+ 引脚22 |
+ 引脚29 |
+ 引脚23 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚29 |
+ 引脚30 |
+ 引脚37 |
+ 引脚31 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚41 |
+ 引脚42 |
+ 引脚43 |
+ 引脚44 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚41 |
+ 引脚42 |
+ 引脚43 |
+ 引脚44 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚5 |
+ 引脚4 |
+ 引脚6 |
+ 引脚7 |
+
+
+
+
+
+
+
+ SPI编号 |
+ CS引脚 |
+ CLK引脚 |
+ MOSI引脚 |
+ MISO引脚 |
+
+
+
+
+ SPI0 |
+ 引脚49 |
+ 引脚29 |
+ 引脚101 |
+ 引脚28 |
+
+
+ SPI1 |
+ 引脚52 |
+ 引脚53 |
+ 引脚50 |
+ 引脚51 |
+
+
+
+
+
+
+
+
## 方法
diff --git a/docs/API_reference/zh/peripherals/machine.UART.md b/docs/API_reference/zh/peripherals/machine.UART.md
index 2aa92fcf328d675760ea791f1a7046986e5b02fd..22ee3fdedab97ca3ac2ad9e74ba86ffed390072c 100644
--- a/docs/API_reference/zh/peripherals/machine.UART.md
+++ b/docs/API_reference/zh/peripherals/machine.UART.md
@@ -28,34 +28,917 @@ class machine.UART(UART.UARTn, baudrate, databits, parity, stopbits, flowctl)
**UART引脚对应关系 :**
-| 平台 | 引脚 |
-| ------------- | ------------------------------------------------------------ |
-| EC600U | uart1:
TX: 引脚号124
RX: 引脚号123
uart2:
TX:引脚号32
RX:引脚号31
RTS:引脚号34
CTS:引脚号33
uart4:
TX:引脚号103
RX:引脚号104 |
-| EC200U | uart1:
TX: 引脚号138
RX: 引脚号137
uart2:
TX:引脚号67
RX:引脚号68
RTS:引脚号65
CTS:引脚号64
uart4:
TX:引脚号82(EC200UXXAA不支持)
RX:引脚号81 |
-| EC200A/UC200A | uart0:(建议使用其他uart)
TX: 引脚号12
RX: 引脚号11
uart1:
TX: 引脚号63(EC200ACN_LA: 引脚号26)
RX: 引脚号66(EC200ACN_LA: 引脚号27)
uart2:
TX:引脚号67
RX:引脚号68
注意:EC200ACN_LA模组uart1引脚号与其他型号不同 |
-| EC600S/EC600N | uart0:
TX: 引脚号71
RX: 引脚号72
uart1:
TX: 引脚号3
RX: 引脚号2
uart2:
TX:引脚号32
RX:引脚号31 |
-| EC100Y | uart0:
TX: 引脚号21
RX: 引脚号20
uart1:
TX: 引脚号27
RX: 引脚号28
uart2:
TX:引脚号50
RX:引脚号49 |
-| EC800N | uart0:
TX: 引脚号39
RX: 引脚号38
uart1:
TX: 引脚号50
RX: 引脚号51
uart2:
TX:引脚号18
RX:引脚号17 |
-| BC25PA | uart1:
TX: 引脚号29
RX: 引脚号28 |
-| BG95M | uart0:
TX: 引脚号23
RX: 引脚号22
uart1:
TX:引脚号27
RX:引脚号28
uart2:
TX: 引脚号64
RX: 引脚号65
uart4:
TX:引脚号35
RX:引脚号34 |
-| EC600M | uart0:
TX: 引脚号71
RX: 引脚号72
uart1(flowctl = 0):
TX: 引脚号3
RX: 引脚号2
uart1(flowctl = 1):
TX: 引脚号33
RX: 引脚号34
uart2:
TX:引脚号32
RX:引脚号31 |
-| EG915U | uart1:
TX: 引脚号27
RX: 引脚号28
uart2:
TX:引脚号35
RX:引脚号34
CTS:引脚号36
RTS:引脚号37
uart4:
TX:引脚号19
RX:引脚号18 |
-| EC800M/EG810M | uart0:
TX: 引脚号39
RX: 引脚号38
uart1(flowctl = 0):
TX: 引脚号50
RX: 引脚号51
uart1(flowctl = 1):
TX: 引脚号22
RX: 引脚号23
注意:EC800MCNGA 、CNGB、CNGD/ EG810MCNGA、CNGB 模块的 uart1 不可用
uart2:
TX:引脚号18
RX:引脚号17
uart4:
TX:引脚号29
RX:引脚号28 |
-| EG912N | uart0:
TX: 引脚号23
RX: 引脚号22
uart1(flowctl = 0):
TX: 引脚号27
RX: 引脚号28
uart1(flowctl = 1):
TX: 引脚号36
RX: 引脚号37
uart2:
TX:引脚号35
RX:引脚号34 |
-| EC600E | uart0:
TX: 引脚号71
RX: 引脚号72
uart1:(EC600ECN_LE&LQ不可用)
TX:引脚号70
RX:引脚号69
uart2:
TX:引脚号32
RX:引脚号31 |
-| EC800E | uart0:
TX: 引脚号39
RX: 引脚号38
uart1:
TX:引脚号29
RX:引脚号28
uart2:
TX:引脚号18
RX:引脚号17 |
-| EC600G | uart1:
TX: 引脚号124
RX: 引脚号123
uart2:
TX:引脚号32
RX:引脚号31
RTS:引脚34
CTS:引脚33
uart4:
TX:引脚号116
RX:引脚号9
uart5:
TX:引脚号125
RX:引脚号126
uart6:
TX:引脚号106
RX:引脚号105 |
-| EC800G | uart1:
TX: 引脚号29
RX: 引脚号28
uart2:
TX:引脚号18
RX:引脚号17
uart5:
TX:引脚号23
RX:引脚号22
uart6:
TX:引脚号86
RX:引脚号83 |
-| EG912U | uart1:
TX: 引脚号27
RX: 引脚号28
uart2:
TX: 引脚号35
RX: 引脚号34
CTS:引脚号36
RTS:引脚号37
uart4:(EG912UGL_AA不可用)
TX:引脚号19
RX:引脚号18 |
-| EC600K | uart0:
TX: 引脚号71
RX: 引脚号72
uart1(flowctl = 0):
TX: 引脚号3
RX: 引脚号2
uart1(flowctl = 1):
TX: 引脚号33
RX: 引脚号34
uart2:
TX:引脚号32
RX:引脚号31 |
-| EC800K/EG800K | uart0:
TX: 引脚号39
RX: 引脚号38
uart1(flowctl = 0):(EG800KCN不可用)
TX: 引脚号50
RX: 引脚号51
uart1(flowctl = 1):(EG800KCN不可用)
TX: 引脚号22
RX: 引脚号23
uart2:
TX:引脚号18
RX:引脚号17 |
-| EG800P | uart0:
TX: 引脚号39
RX: 引脚号38
uart1:
TX: 引脚号22
RX: 引脚号23
uart2:
TX:引脚号18
RX:引脚号17
RTS:引脚23
CTS:引脚22
uart3:
TX:引脚号29
RX:引脚号28 |
-| FCM360W | uart0:
TX: 引脚号27
RX: 引脚号26
uart2:
TX:引脚号20
RX:引脚号19
|
-| FCM362K |uart1:
TX: 引脚号35
RX: 引脚号34
uart2:
TX:引脚号28
RX:引脚号27
|
-| BC32 | uart0:
TX: 引脚号21
RX: 引脚号22 |
-| BC92 | uart0:
TX: 引脚号22
RX: 引脚号21 |
-| EG915N | uart0:
TX: 引脚号23
RX: 引脚号22
uart1:
TX: 引脚号27
RX: 引脚号28
uart2:
TX: 引脚号35
RX: 引脚号34
CTS:引脚号36
RTS:引脚号37
uart4:(EG915NEU_AG不支持)
TX:引脚号36
RX:引脚号37 |
-| EC800Z | uart0:
TX: 引脚号39
RX: 引脚号38
uart1:
TX:引脚号29
RX:引脚号28
uart2:
TX:引脚号18
RX:引脚号17 |
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ RTS引脚 |
+ CTS引脚 |
+
+
+
+
+ uart1 |
+ 引脚号124 |
+ 引脚号123 |
+ |
+ |
+
+
+ uart2 |
+ 引脚号32 |
+ 引脚号31 |
+ 引脚号34 |
+ 引脚号33 |
+
+
+ uart4 |
+ 引脚号103 |
+ 引脚号104 |
+ |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ RTS引脚 |
+ CTS引脚 |
+
+
+
+
+ uart1 |
+ 引脚号138 |
+ 引脚号137 |
+ |
+ |
+
+
+ uart2 |
+ 引脚号67 |
+ 引脚号68 |
+ 引脚号65 |
+ 引脚号64 |
+
+
+ uart4 |
+ 引脚号82(EC200UXXAA不支持) |
+ 引脚号81 |
+ |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ 注意 |
+
+
+
+
+ uart0(建议使用其他uart) |
+ 引脚号12 |
+ 引脚号11 |
+ |
+
+
+ uart1 |
+ 引脚号63(EC200ACN_LA: 引脚号26) |
+ 引脚号66(EC200ACN_LA: 引脚号27) |
+ |
+
+
+ uart2 |
+ 引脚号67 |
+ 引脚号68 |
+ EC200ACN_LA模组uart1引脚号与其他型号不同 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ 注意 |
+
+
+
+
+ uart0(建议使用其他uart) |
+ 引脚号12 |
+ 引脚号11 |
+ |
+
+
+ uart1 |
+ 引脚号63(EC200ACN_LA: 引脚号26) |
+ 引脚号66(EC200ACN_LA: 引脚号27) |
+ EC200ACN_LA模组uart1引脚号与其他型号不同 |
+
+
+ uart2 |
+ 引脚号67 |
+ 引脚号68 |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号71 |
+ 引脚号72 |
+
+
+ uart1 |
+ 引脚号3 |
+ 引脚号2 |
+
+
+ uart2 |
+ 引脚号32 |
+ 引脚号31 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号71 |
+ 引脚号72 |
+
+
+ uart1 |
+ 引脚号3 |
+ 引脚号2 |
+
+
+ uart2 |
+ 引脚号32 |
+ 引脚号31 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号21 |
+ 引脚号20 |
+
+
+ uart1 |
+ 引脚号27 |
+ 引脚号28 |
+
+
+ uart2 |
+ 引脚号50 |
+ 引脚号49 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号39 |
+ 引脚号38 |
+
+
+ uart1 |
+ 引脚号50 |
+ 引脚号51 |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart1 |
+ 引脚号29 |
+ 引脚号28 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号23 |
+ 引脚号22 |
+
+
+ uart1 |
+ 引脚号27 |
+ 引脚号28 |
+
+
+ uart2 |
+ 引脚号64 |
+ 引脚号65 |
+
+
+ uart4 |
+ 引脚号35 |
+ 引脚号34 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号71 |
+ 引脚号72 |
+
+
+ uart1(flowctl = 0) |
+ 引脚号3 |
+ 引脚号2 |
+
+
+ uart1(flowctl = 1) |
+ 引脚号33 |
+ 引脚号34 |
+
+
+ uart2 |
+ 引脚号32 |
+ 引脚号31 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ RTS引脚 |
+ CTS引脚 |
+
+
+
+
+ uart1 |
+ 引脚号27 |
+ 引脚号28 |
+ |
+ |
+
+
+ uart2 |
+ 引脚号35 |
+ 引脚号34 |
+ 引脚号37 |
+ 引脚号36 |
+
+
+ uart4 |
+ 引脚号19 |
+ 引脚号18 |
+ |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ 注意 |
+
+
+
+
+ uart0 |
+ 引脚号39 |
+ 引脚号38 |
+ |
+
+
+ uart1(flowctl = 0) |
+ 引脚号50 |
+ 引脚号51 |
+ EC800MCNGA 、CNGB、CNGD/ EG810MCNGA、CNGB 模块的 uart1 不可用 |
+
+
+ uart1(flowctl = 1) |
+ 引脚号22 |
+ 引脚号23 |
+ |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+ |
+
+
+ uart4 |
+ 引脚号29 |
+ 引脚号28 |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ 注意 |
+
+
+
+
+ uart0 |
+ 引脚号39 |
+ 引脚号38 |
+ |
+
+
+ uart1(flowctl = 0) |
+ 引脚号50 |
+ 引脚号51 |
+ EC800MCNGA 、CNGB、CNGD/ EG810MCNGA、CNGB 模块的 uart1 不可用 |
+
+
+ uart1(flowctl = 1) |
+ 引脚号22 |
+ 引脚号23 |
+ |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+ |
+
+
+ uart4 |
+ 引脚号29 |
+ 引脚号28 |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号23 |
+ 引脚号22 |
+
+
+ uart1(flowctl = 0) |
+ 引脚号27 |
+ 引脚号28 |
+
+
+ uart1(flowctl = 1) |
+ 引脚号36 |
+ 引脚号37 |
+
+
+ uart2 |
+ 引脚号35 |
+ 引脚号34 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号71 |
+ 引脚号72 |
+
+
+ uart1(EC600ECN_LE&LQ不可用) |
+ 引脚号70 |
+ 引脚号69 |
+
+
+ uart2 |
+ 引脚号32 |
+ 引脚号31 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号39 |
+ 引脚号38 |
+
+
+ uart1 |
+ 引脚号29 |
+ 引脚号28 |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ RTS引脚 |
+ CTS引脚 |
+
+
+
+
+ uart0 |
+ 引脚号124 |
+ 引脚号123 |
+ |
+ |
+
+
+ uart2 |
+ 引脚号32 |
+ 引脚号31 |
+ 引脚34 |
+ 引脚33 |
+
+
+ uart4 |
+ 引脚号116 |
+ 引脚号9 |
+ |
+ |
+
+
+ uart5 |
+ 引脚号125 |
+ 引脚号126 |
+ |
+ |
+
+
+ uart6 |
+ 引脚号106 |
+ 引脚号105 |
+ |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart1 |
+ 引脚号29 |
+ 引脚号28 |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+
+
+ uart5 |
+ 引脚号23 |
+ 引脚号22 |
+
+
+ uart6 |
+ 引脚号86 |
+ 引脚号83 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ RTS引脚 |
+ CTS引脚 |
+
+
+
+
+ uart1 |
+ 引脚号27 |
+ 引脚号28 |
+ |
+ |
+
+
+ uart2 |
+ 引脚号35 |
+ 引脚号34 |
+ 引脚号37 |
+ 引脚号36 |
+
+
+ uart4(EG912UGL_AA不可用) |
+ 引脚号19 |
+ 引脚号18 |
+ |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号71 |
+ 引脚号72 |
+
+
+ uart1(flowctl = 0) |
+ 引脚号3 |
+ 引脚号2 |
+
+
+ uart1(flowctl = 1) |
+ 引脚号33 |
+ 引脚号34 |
+
+
+ uart2 |
+ 引脚号32 |
+ 引脚号31 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ 注意 |
+
+
+
+
+ uart0 |
+ 引脚号39 |
+ 引脚号38 |
+ |
+
+
+ uart1(flowctl = 0) |
+ 引脚号50 |
+ 引脚号51 |
+ EG800KCN不可用 |
+
+
+ uart1(flowctl = 1) |
+ 引脚号22 |
+ 引脚号23 |
+ EG800KCN不可用 |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ 注意 |
+
+
+
+
+ uart0 |
+ 引脚号39 |
+ 引脚号38 |
+ |
+
+
+ uart1(flowctl = 0) |
+ 引脚号50 |
+ 引脚号51 |
+ EG800KCN不可用 |
+
+
+ uart1(flowctl = 1) |
+ 引脚号22 |
+ 引脚号23 |
+ EG800KCN不可用 |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ RTS引脚 |
+ CTS引脚 |
+
+
+
+
+ uart0 |
+ 引脚号39 |
+ 引脚号38 |
+ |
+ |
+
+
+ uart1 |
+ 引脚号22 |
+ 引脚号23 |
+ |
+ |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+ 引脚23 |
+ 引脚22 |
+
+
+ uart3 |
+ 引脚号29 |
+ 引脚号28 |
+ |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart1 |
+ 引脚号27 |
+ 引脚号26 |
+
+
+ uart2 |
+ 引脚号20 |
+ 引脚号19 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart1 |
+ 引脚号35 |
+ 引脚号34 |
+
+
+ uart2 |
+ 引脚号28 |
+ 引脚号27 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号21 |
+ 引脚号22 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号22 |
+ 引脚号21 |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+ RTS引脚 |
+ CTS引脚 |
+
+
+
+
+ uart0 |
+ 引脚号23 |
+ 引脚号22 |
+ |
+ |
+
+
+ uart1 |
+ 引脚号27 |
+ 引脚号28 |
+ |
+ |
+
+
+ uart2 |
+ 引脚号35 |
+ 引脚号34 |
+ 引脚号36 |
+ 引脚号37 |
+
+
+ uart4(EG915NEU_AG不支持) |
+ 引脚号36 |
+ 引脚号37 |
+ |
+ |
+
+
+
+
+
+
+ uart编号 |
+ TX引脚 |
+ RX引脚 |
+
+
+
+
+ uart0 |
+ 引脚号39 |
+ 引脚号38 |
+
+
+ uart1 |
+ 引脚号29 |
+ 引脚号28 |
+
+
+ uart2 |
+ 引脚号18 |
+ 引脚号17 |
+
+
+
+
+
> 1、EC600M/EC800M/EG810M/EG912N/EC600K/EC800K 的uart1在flowctl = 1时,仅将uart1映射到不同的引脚,未开启流控功能。
>
diff --git a/docs/API_reference/zh/peripherals/misc.ADC.md b/docs/API_reference/zh/peripherals/misc.ADC.md
index a2b4b44c48e9113e5fdc76f48a9befe3104b9105..88779cc69fdeb6fa472bdbc01170d5721e853521 100644
--- a/docs/API_reference/zh/peripherals/misc.ADC.md
+++ b/docs/API_reference/zh/peripherals/misc.ADC.md
@@ -68,36 +68,952 @@ ADC.close()
**ADC通道与物理引脚的映射关系:**
-| 系列 | 引脚对应 |
-| ------ | ------------------------------------------------------------ |
-| EC600N | ADC0 – 引脚号19 |
-| EC600M | ADC0 – 引脚号19
ADC1 – 引脚号20 |
-| EC800N | ADC0 – 引脚号9 |
-| EC600U | ADC0 – 引脚号19
ADC1 – 引脚号20
ADC2 – 引脚号113
ADC3 – 引脚号114 |
-| EC200U | ADC0 – 引脚号45
ADC1 – 引脚号44
ADC2 – 引脚号43 |
-| EC200A/UC200A | ADC0 – 引脚号45
ADC1 – 引脚号44 |
-| BG95 | ADC0 – 引脚号24 |
-| EG915U | ADC0 – 引脚号24
ADC1 – 引脚号2 |
-| EC800M/EG810M | ADC0 – 引脚号9
ADC1 – 引脚号96 |
-| EG912N | ADC0 – 引脚号24
ADC1 – 引脚号2 |
-| EC600E | ADC0 – 引脚号19
ADC1 – 引脚号20 |
-| EC800E | ADC0 – 引脚号9
ADC1 – 引脚号96 |
-| EC600G | ADC0 – 引脚号19
ADC1 – 引脚号20
ADC2 – 引脚号113
ADC3 – 引脚号114 |
-| EC800G | ADC0 – 引脚号9
ADC1 – 引脚号96 |
-| EG912U | ADC0 – 引脚号24
ADC1 – 引脚号2 |
-| EC600K | ADC0 – 引脚号19
ADC1 – 引脚号20 |
-| EC800K/EG800K | ADC0 – 引脚号9
ADC1 – 引脚号96 |
-| FCM360W | ADC0 – 引脚号8
ADC1 – 引脚号7
ADC2 – 引脚号6 |
-| BC32 | ADC0 – 引脚号2 |
-| BC92 | ADC0 – 引脚号2 |
-| EG915N | ADC0 – 引脚号24
ADC1 – 引脚号2 |
-| EC800Z | ADC0 – 引脚号9
ADC1 – 引脚号96 |
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号19 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号19 |
+
+
+ ADC1 |
+ 引脚号20 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号9 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号19 |
+
+
+ ADC1 |
+ 引脚号20 |
+
+
+ ADC2 |
+ 引脚号113 |
+
+
+ ADC3 |
+ 引脚号114 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号45 |
+
+
+ ADC1 |
+ 引脚号44 |
+
+
+ ADC2 |
+ 引脚号43 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号45 |
+
+
+ ADC1 |
+ 引脚号44 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号45 |
+
+
+ ADC1 |
+ 引脚号44 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号24 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号24 |
+
+
+ ADC1 |
+ 引脚号2 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号9 |
+
+
+ ADC1 |
+ 引脚号96 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号9 |
+
+
+ ADC1 |
+ 引脚号96 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号24 |
+
+
+ ADC1 |
+ 引脚号2 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号19 |
+
+
+ ADC1 |
+ 引脚号20 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号9 |
+
+
+ ADC1 |
+ 引脚号96 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号19 |
+
+
+ ADC1 |
+ 引脚号20 |
+
+
+ ADC2 |
+ 引脚号113 |
+
+
+ ADC3 |
+ 引脚号114 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号9 |
+
+
+ ADC1 |
+ 引脚号96 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号24 |
+
+
+ ADC1 |
+ 引脚号2 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号19 |
+
+
+ ADC1 |
+ 引脚号20 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号9 |
+
+
+ ADC1 |
+ 引脚号96 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号9 |
+
+
+ ADC1 |
+ 引脚号96 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号8 |
+
+
+ ADC1 |
+ 引脚号7 |
+
+
+ ADC2 |
+ 引脚号6 |
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号2 |
+
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号2 |
+
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号24 |
+
+
+ ADC1 |
+ 引脚号2 |
+
+
+
+
+
+
+
+
+ ADC编号 |
+ 引脚对应 |
+
+
+
+
+ ADC0 |
+ 引脚号9 |
+
+
+ ADC1 |
+ 引脚号96 |
+
+
+
+
+
+
## 常量
-| 常量 | 说明 | 适用平台 |
-| -------- | -------- | ------------------------------------------------------------ |
-| ADC.ADC0 | ADC通道0 | EC600S/EC600N/EC100Y/EC600U/EC200U/BC25PA/EC800N/BG95M3/EC200A/EC600M
/EG915U/EC800M/EG912N/EC600E/EC800E/EC600G/EC800G/EG912U/EC600K/EC800K
/FCM360W/BC32/BC92/EG915N/EC800Z |
-| ADC.ADC1 | ADC通道1 | EC600U/EC200U/EC200A/EC600M/EG915U/EC800M/EG912N/EC600E/EC800E/EC600G/
EC800G/EG912U/EC600K/EC800K/FCM360W/EG915N/EC800Z |
-| ADC.ADC2 | ADC通道2 | EC600U/EC200U/FCM360W |
-| ADC.ADC3 | ADC通道3 | EC600U |
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+ ADC.ADC2 |
+ ADC通道2 |
+
+
+ ADC.ADC3 |
+ ADC通道3 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+ ADC.ADC2 |
+ ADC通道2 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+ ADC.ADC2 |
+ ADC通道2 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
+
+
+ 常量 |
+ 说明 |
+
+
+
+
+ ADC.ADC0 |
+ ADC通道0 |
+
+
+ ADC.ADC1 |
+ ADC通道1 |
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/API_reference/zh/sidebar.yaml b/docs/API_reference/zh/sidebar.yaml
index 2f08f81dfe6fb56a8b16caadb2176f8679e2039d..af2c5ace0ee6e8b4427b5d0e3afc326bc9da6ede 100644
--- a/docs/API_reference/zh/sidebar.yaml
+++ b/docs/API_reference/zh/sidebar.yaml
@@ -212,6 +212,11 @@ items:
file: gnsslib/wifilocator.md
- label: wifiScan - WiFi扫描
file: gnsslib/wifiScan.md
+- label: AI 聊天机器人
+ file: ailib/README.md
+ items:
+ - label: TiktokRTC - 豆包火山 RTC 平台
+ file: ailib/TiktokRTC.md
- label: IoT 平台
file: cloudlib/README.md
items:
@@ -219,6 +224,8 @@ items:
file: cloudlib/aLiYun.md
- label: TenCentYun- 腾讯 IoT 平台
file: cloudlib/TenCentYun.md
+ - label: Aws- 亚马逊 IoT 平台
+ file: cloudlib/aws.md
- label: 行业应用
file: industry/README.md
items:
diff --git a/docs/Application_guide/en/hardware/peripheral-interfaces/GPIO.md b/docs/Application_guide/en/hardware/peripheral-interfaces/GPIO.md
index 6dcd87630e3fb1a9d727306c6a27ac58fcf44211..7cc6b36132273b9cf80b04f8d2c3c621fadfd34c 100644
--- a/docs/Application_guide/en/hardware/peripheral-interfaces/GPIO.md
+++ b/docs/Application_guide/en/hardware/peripheral-interfaces/GPIO.md
@@ -396,7 +396,7 @@ It is mainly divided into two types: GPIO and Extlnt.
In this chapter, it will introduce how to use QuecPython GPIO and relevant notes.
-For specific API on QuecPython GPIO, please refer to [machine.Pin](https://python.quectel.com/doc/API_reference/zh/peripherals/machine.Pin.html)
+For specific API on QuecPython GPIO, please refer to [machine.Pin](https://python.quectel.com/doc/API_reference/en/peripherals/machine.Pin.html)
#### Create object
diff --git a/docs/Application_guide/en/hardware/peripheral-interfaces/UART.md b/docs/Application_guide/en/hardware/peripheral-interfaces/UART.md
index 8d1ef74ec32a6eac4089c0bc24d959a23b6dafae..76abf32c17f90c69c1c4b0a52bea6aede3c855a1 100644
--- a/docs/Application_guide/en/hardware/peripheral-interfaces/UART.md
+++ b/docs/Application_guide/en/hardware/peripheral-interfaces/UART.md
@@ -366,10 +366,10 @@ For API introduction, please refer to [machine.UART.control_485](https://python.
| Cases | Description |
| ------------------------------------- | ------------------------------------------------------------ |
-| [Basic Tx/Rx](#Basic Tx/Rx) | Configure UART setting and read and write via UART1. It will read data in a method of callback |
-| [External GNSS](#External GNSS) | By decrypting the GNGGA, GNRMC and GPGSV in raw GNSS data packet read from external GNSS by UART to get positioning info. |
+| [Basic Tx/Rx](https://python.quectel.com/doc/Application_guide/en/hardware/peripheral-interfaces/UART.html#Basic-Tx/Rx) | Configure UART setting and read and write via UART1. It will read data in a method of callback |
+| [External GNSS](https://python.quectel.com/doc/Application_guide/en/hardware/peripheral-interfaces/UART.html#External-GNSS) | By decrypting the GNGGA, GNRMC and GPGSV in raw GNSS data packet read from external GNSS by UART to get positioning info. |
| [RS485application](https://python.quectel.com/doc/Application_guide/en/hardware/peripheral-interfaces/UART.html#RS-485-application) | Set UART driver programm in half duplex to communicate via RS485 interface |
-| [Power meter chip](#Power meter chip) | Take power meter chip as an example: read and write corresponding parameter via UART to get power data or execute other controlling commands. |
+| [Power meter chip](https://python.quectel.com/doc/Application_guide/en/hardware/peripheral-interfaces/UART.html#Power-meter-chip) | Take power meter chip as an example: read and write corresponding parameter via UART to get power data or execute other controlling commands. |
### Basic Tx/Rx
diff --git a/docs/Application_guide/en/helios-sdk/advanced.md b/docs/Application_guide/en/helios-sdk/advanced.md
index 2f17e711fa91a64c878bd5acfbe6f914adc0fe57..0322f430faf266d00d2beae780ae2454ce5a7739 100644
--- a/docs/Application_guide/en/helios-sdk/advanced.md
+++ b/docs/Application_guide/en/helios-sdk/advanced.md
@@ -394,7 +394,7 @@ The difference comparison in the figure below shows the difference between this
- Use the macro `MP_DEFINE_CONST_FUN_OBJ_0` to add a function object `modtest_obj_func_noargs`, which is the code on Line 18.
- Register the newly added `modtest_obj_func_noargs` object to modtest, which is the code on Line 23.
-
+
**Step 2: Verify the Functionality**
@@ -487,9 +487,9 @@ The difference comparison in the figure below shows the difference between this
- Added the C language function *modtest_func_withargs* corresponding to the Python module `modtest` method *modtest.func_withargs(str)*. In this example, the string parameters that the user input from the Python layer is returned through *mp_obj_str_get_str(str)*.
- Use the macro `MP_DEFINE_CONST_FUN_OBJ_1` to add a function object `modtest_obj_func_withargs`, which is the code on Line 38.
-- Register the newly added `modtest_obj_func_noargs` object to modtest, which is the code on Line 44.
+- Register the newly added `modtest_obj_func_noargs` object to modtest, which is the code on Line 43.
-
+
**Step 2: Verify the Functionality**
@@ -692,7 +692,7 @@ const mp_obj_type_t modtest_math_type = {
The difference comparison in the figure below shows the difference between this code and the code before the modification (the current code is on the right, and the red part is the difference):
-
+
As can be seen from the figure, adding a function without parameters to the type is the same as adding it to the module, so no further explanation is needed.
@@ -787,7 +787,7 @@ STATIC const mp_rom_map_elem_t math_locals_dict_table[] = {
After completing the above three steps, let's see the differences between the code in this section and the code before the modification.
The red font in the following figure is all the code we added.
-
+
**Step 4: Verify the Functionality**
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fj61re1q2q1r4jns4ouek6bb.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fj61re1q2q1r4jns4ouek6bb.png
new file mode 100644
index 0000000000000000000000000000000000000000..e83ae0f61bdd68f9e6ee599112141a37e1ec8df8
Binary files /dev/null and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fj61re1q2q1r4jns4ouek6bb.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fj61re1q2q1r4jns4ouek6bm.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fj61re1q2q1r4jns4ouek6bm.png
deleted file mode 100644
index 5e85763ff7cfe921089b663a2e0b9e6a2c2163c0..0000000000000000000000000000000000000000
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fj61re1q2q1r4jns4ouek6bm.png and /dev/null differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fmta2oakmps0115mb8r1q0s20.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fmta2oakmps0115mb8r1q0s20.png
deleted file mode 100644
index b8a147bca3384c3b15247d6a5123855594453ee8..0000000000000000000000000000000000000000
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fmta2oakmps0115mb8r1q0s20.png and /dev/null differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fmta2oakmps0115mb8r1q0s23.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fmta2oakmps0115mb8r1q0s23.png
new file mode 100644
index 0000000000000000000000000000000000000000..147579bb74e74afcacd0011523ef8c7f6a27c80f
Binary files /dev/null and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5fmta2oakmps0115mb8r1q0s23.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ft863lnr51cqccqjdrcpk73d.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ft863lnr51cqccqjdrcpk73d.png
new file mode 100644
index 0000000000000000000000000000000000000000..054fc8d12ebf41cff5b51f3960e0571a8b6be12d
Binary files /dev/null and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ft863lnr51cqccqjdrcpk73d.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ft863lnr51cqccqjdrcpk73k.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ft863lnr51cqccqjdrcpk73k.png
deleted file mode 100644
index 8cea35cbdb8fe98fec1e12be7f7b763c39a42bc6..0000000000000000000000000000000000000000
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ft863lnr51cqccqjdrcpk73k.png and /dev/null differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5hsgiefmj0abp6ris3h464c.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5hsgiefmj0abp6ris3h464c.png
new file mode 100644
index 0000000000000000000000000000000000000000..73946602996f305e9eea391b21aef6a0443f1b80
Binary files /dev/null and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5hsgiefmj0abp6ris3h464c.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5hsgiefmj0abp6ris3h464r.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5hsgiefmj0abp6ris3h464r.png
deleted file mode 100644
index ae7b0b36ab3b0bdc48eff47d515f62ae496a15d0..0000000000000000000000000000000000000000
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5hsgiefmj0abp6ris3h464r.png and /dev/null differ
diff --git a/docs/Application_guide/en/solutions/DTU/README.md b/docs/Application_guide/en/solutions/DTU/README.md
index bb094ff3fd87034834e380bb14a0955ffda8c95a..fb95e70b17797b87a8dcbc80c43f937735f2d959 100644
--- a/docs/Application_guide/en/solutions/DTU/README.md
+++ b/docs/Application_guide/en/solutions/DTU/README.md
@@ -34,7 +34,6 @@ Take the `QuecPython_EC2X_EVB_V2.0` development board (EC2X development board in
-
| Pin on development board | TTL to USB module | Color of wire in picture |
| ------------------------ | ----------------- | ------------------------ |
| Pin 13 (TX) of J7 | RX | Red |
@@ -190,7 +189,6 @@ CloudObservable[CloudObservable]
CloudObservable --> MqttIot[MqttIot]
CloudObservable --> AliYunIot[AliYunIot]
CloudObservable --> HuaweiIot[HuaweiIot]
-CloudObservable --> QuecThing[QuecThing]
CloudObservable --> Socket[Socket]
CloudObservable --> TXYunIot[TXYunIot]
```
diff --git a/docs/Application_guide/zh/README.md b/docs/Application_guide/zh/README.md
index e3d032de821258a49c75a8c2343116bffc31c39a..ffad358506329edb0e9f862cc28a1b0001c2135a 100644
--- a/docs/Application_guide/zh/README.md
+++ b/docs/Application_guide/zh/README.md
@@ -83,11 +83,13 @@ QuecPython 应用指导,是对QuecPython常用功能模块如何使用的指
产品方案
+- [豆包 RTC AI 聊天机器人](solutions/AIChatBot-Volcengine-webRTC/README.md)
- [DTU 方案](solutions/DTU/README.md)
- [智慧农业中控面板](solutions/Agriculture-Control-Panel/README.md)
- [可穿戴解决方案](solutions/Wear/readme.md)
- [电表](solutions/electricity-meter/README.md)
- [智能定位器](solutions/tracker/README.md)
+- [公网对讲机](solutions/poc/README.md)
diff --git a/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai.png b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai.png
new file mode 100644
index 0000000000000000000000000000000000000000..97a524333a7faf16a1cb32fffa1c4cc2a949f8cf
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai.png differ
diff --git a/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_audio.png b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_audio.png
new file mode 100644
index 0000000000000000000000000000000000000000..d382d867591bd7fb35e70baeb9af402187b98cd9
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_audio.png differ
diff --git a/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_frame.png b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_frame.png
new file mode 100644
index 0000000000000000000000000000000000000000..582eb33246df500434fd1d0c1da4c1894cec9982
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_frame.png differ
diff --git a/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_process.png b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_process.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c3d37035829413693232a22f12e14f50ad53ea0
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/code_ai_process.png differ
diff --git a/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/comport.png b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/comport.png
new file mode 100644
index 0000000000000000000000000000000000000000..270017b82e7cae2e731cfa8deb67bd6530ed6485
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/comport.png differ
diff --git a/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/wire_connection.jpg b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/wire_connection.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2b52b10530b01dd2b5c052eafb413ef409967ca4
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/AIChatBot-Volcengine-webRTC/wire_connection.jpg differ
diff --git "a/docs/Application_guide/zh/media/solutions/DTU/4G\350\203\266\346\243\222\345\244\251\347\272\277.jpg" "b/docs/Application_guide/zh/media/solutions/DTU/4G\350\203\266\346\243\222\345\244\251\347\272\277.jpg"
new file mode 100644
index 0000000000000000000000000000000000000000..66650e405222f9a0b82509fa5424ea2b672bcd7f
Binary files /dev/null and "b/docs/Application_guide/zh/media/solutions/DTU/4G\350\203\266\346\243\222\345\244\251\347\272\277.jpg" differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/DTU_wires_connection.png b/docs/Application_guide/zh/media/solutions/DTU/DTU_wires_connection.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a1a5497716fd2ed4ffc8f5a71a67e8a7f2f4652
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/DTU_wires_connection.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/EC800GCN.png b/docs/Application_guide/zh/media/solutions/DTU/EC800GCN.png
new file mode 100644
index 0000000000000000000000000000000000000000..6c57b10d315acb2eed67fe9c992f62b614763aec
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/EC800GCN.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/HuaDTU.jpg b/docs/Application_guide/zh/media/solutions/DTU/HuaDTU.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..59f79e566d9b94b02f722ead1cdaad1252a51e6b
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/HuaDTU.jpg differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/UML.png b/docs/Application_guide/zh/media/solutions/DTU/UML.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad7cd0c464d62cde72d699ffbfcc0c7c7ada8c31
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/UML.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/cloud_down.png b/docs/Application_guide/zh/media/solutions/DTU/cloud_down.png
new file mode 100644
index 0000000000000000000000000000000000000000..0feebf83cab55858bcc9ec36b1954f283e8e66d8
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/cloud_down.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/cloud_up.png b/docs/Application_guide/zh/media/solutions/DTU/cloud_up.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a93ab866a6e9148e17bce5541286d75a7729fda
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/cloud_up.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/debug_log.png b/docs/Application_guide/zh/media/solutions/DTU/debug_log.png
new file mode 100644
index 0000000000000000000000000000000000000000..f56e908927718dacf402095c07180bc33d70651c
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/debug_log.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/debug_log_down_data.png b/docs/Application_guide/zh/media/solutions/DTU/debug_log_down_data.png
new file mode 100644
index 0000000000000000000000000000000000000000..b020bdacebfc014c0b76610e9d7e1d712e196a33
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/debug_log_down_data.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/debugview.png b/docs/Application_guide/zh/media/solutions/DTU/debugview.png
new file mode 100644
index 0000000000000000000000000000000000000000..ceb61c02b8301368c4c8c8d36229797cc8f9248e
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/debugview.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/download_scripts.png b/docs/Application_guide/zh/media/solutions/DTU/download_scripts.png
new file mode 100644
index 0000000000000000000000000000000000000000..034704cb7628bc86bbeedc9b21aba6705b0ee163
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/download_scripts.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/dtu_graph.png b/docs/Application_guide/zh/media/solutions/DTU/dtu_graph.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4a29ee2c7464a9dfd39a4d3e6afd85c556d9340
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/dtu_graph.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/dupont.png b/docs/Application_guide/zh/media/solutions/DTU/dupont.png
new file mode 100644
index 0000000000000000000000000000000000000000..d04543958240f2e29e82f2dcfca4a754a6cee8ac
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/dupont.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/flowchart.png b/docs/Application_guide/zh/media/solutions/DTU/flowchart.png
new file mode 100644
index 0000000000000000000000000000000000000000..00cb771a230a7035fc9ae1a4be30d955c092ba3a
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/flowchart.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/gitbash.png b/docs/Application_guide/zh/media/solutions/DTU/gitbash.png
new file mode 100644
index 0000000000000000000000000000000000000000..45d0f79ff5b0466097693d3bc91505f503a4a723
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/gitbash.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/mini_usb.png b/docs/Application_guide/zh/media/solutions/DTU/mini_usb.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec4361fd79f4bdd719630867ca2a0df58016996d
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/mini_usb.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/qcom_down.png b/docs/Application_guide/zh/media/solutions/DTU/qcom_down.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5e661ad34343b1496497e97630d0e7ca78eb4e4
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/qcom_down.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/qcom_test.png b/docs/Application_guide/zh/media/solutions/DTU/qcom_test.png
new file mode 100644
index 0000000000000000000000000000000000000000..69f9bc5177a6a1c31ad03be86802bb6e83802b43
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/qcom_test.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/repl_logs.png b/docs/Application_guide/zh/media/solutions/DTU/repl_logs.png
new file mode 100644
index 0000000000000000000000000000000000000000..785382aef1fe3cea174d9108d1807edef2dbb84a
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/repl_logs.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/run_scripts.png b/docs/Application_guide/zh/media/solutions/DTU/run_scripts.png
new file mode 100644
index 0000000000000000000000000000000000000000..ccd49d4a8a6711bd0674297709cdfe733f2668da
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/run_scripts.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/sim_card.png b/docs/Application_guide/zh/media/solutions/DTU/sim_card.png
new file mode 100644
index 0000000000000000000000000000000000000000..4d49057b4f9179495c1c946403273af14d20e7db
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/sim_card.png differ
diff --git a/docs/Application_guide/zh/media/solutions/DTU/usb_ttl.png b/docs/Application_guide/zh/media/solutions/DTU/usb_ttl.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc0e9fd13517673a255ca1b31a33dd975fdc46ea
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/DTU/usb_ttl.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/Logging.png b/docs/Application_guide/zh/media/solutions/poc/Logging.png
index 4d100e9e860be790729266670d872c658f007f6d..a6a99a652c09fe7812adc3f66a9df1c0677b88f5 100644
Binary files a/docs/Application_guide/zh/media/solutions/poc/Logging.png and b/docs/Application_guide/zh/media/solutions/poc/Logging.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/MainScreen.png b/docs/Application_guide/zh/media/solutions/poc/MainScreen.png
index bbc591f84d5319452058245ec1afa1757cb77f6a..94fcf10980f06853cf1b95a8e550c5ea8df1ba54 100644
Binary files a/docs/Application_guide/zh/media/solutions/poc/MainScreen.png and b/docs/Application_guide/zh/media/solutions/poc/MainScreen.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/bord.png b/docs/Application_guide/zh/media/solutions/poc/bord.png
index 74c28f6830931738543ad76c1f272d88e2be1e1d..a656e40d5b7d0fe3e279959c45cec925c5230f64 100644
Binary files a/docs/Application_guide/zh/media/solutions/poc/bord.png and b/docs/Application_guide/zh/media/solutions/poc/bord.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/comport.png b/docs/Application_guide/zh/media/solutions/poc/comport.png
index 66728782024289081ab7266b74cbe612acaa0233..270017b82e7cae2e731cfa8deb67bd6530ed6485 100644
Binary files a/docs/Application_guide/zh/media/solutions/poc/comport.png and b/docs/Application_guide/zh/media/solutions/poc/comport.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/get_imei.png b/docs/Application_guide/zh/media/solutions/poc/get_imei.png
new file mode 100644
index 0000000000000000000000000000000000000000..26db7f5e97cc0b759cbe5eea95b4744d0b7b409c
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/poc/get_imei.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/group.png b/docs/Application_guide/zh/media/solutions/poc/group.png
new file mode 100644
index 0000000000000000000000000000000000000000..46f8714bccd99e53af37d323b1c77665111c0ad9
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/poc/group.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/member.png b/docs/Application_guide/zh/media/solutions/poc/member.png
new file mode 100644
index 0000000000000000000000000000000000000000..66d97359f43f759e5b63a9bd1ad62f97570db383
Binary files /dev/null and b/docs/Application_guide/zh/media/solutions/poc/member.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/no_sim_card.png b/docs/Application_guide/zh/media/solutions/poc/no_sim_card.png
index 4b9cccf5938049c52ab0587560b8c51c21f6ac3a..5bed31217449da5468b76c41573cab4daa4fba45 100644
Binary files a/docs/Application_guide/zh/media/solutions/poc/no_sim_card.png and b/docs/Application_guide/zh/media/solutions/poc/no_sim_card.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/services.png b/docs/Application_guide/zh/media/solutions/poc/services.png
index bdd83f7385f4fec4a131209085977906004ed676..ddb0a5a59cfd3adeef44dbf642ffe6454ee184e0 100644
Binary files a/docs/Application_guide/zh/media/solutions/poc/services.png and b/docs/Application_guide/zh/media/solutions/poc/services.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/speak.png b/docs/Application_guide/zh/media/solutions/poc/speak.png
index c5bdb082b6c9fcb175bb2172ecb2d858cbcf837f..a656e40d5b7d0fe3e279959c45cec925c5230f64 100644
Binary files a/docs/Application_guide/zh/media/solutions/poc/speak.png and b/docs/Application_guide/zh/media/solutions/poc/speak.png differ
diff --git a/docs/Application_guide/zh/media/solutions/poc/ui_uml.png b/docs/Application_guide/zh/media/solutions/poc/ui_uml.png
index 08995e03a6a2790abf9d8f0518a56d8cd3cbcf34..68d018a603e89b5a41d6d6f02d2b2f7c5c919d9d 100644
Binary files a/docs/Application_guide/zh/media/solutions/poc/ui_uml.png and b/docs/Application_guide/zh/media/solutions/poc/ui_uml.png differ
diff --git a/docs/Application_guide/zh/sidebar.yaml b/docs/Application_guide/zh/sidebar.yaml
index 8c7c4b53b825481383cc5a25b5d534db36fab9e4..a61174b398cf581d90f5672ea9f4719afda0b77c 100644
--- a/docs/Application_guide/zh/sidebar.yaml
+++ b/docs/Application_guide/zh/sidebar.yaml
@@ -265,8 +265,29 @@ items:
- label: 产品方案
file: solutions/README.md
items:
- - label: DTU 方案
+ - label: 豆包 RTC AI 聊天机器人
+ file: solutions/AIChatBot-Volcengine-webRTC/README.md
+ items:
+ - label: 开发资源汇总
+ file: solutions/AIChatBot-Volcengine-webRTC/dev_resources.md
+ - label: 快速上手
+ file: solutions/AIChatBot-Volcengine-webRTC/quick_start.md
+ - label: 软件设计讲解
+ file: solutions/AIChatBot-Volcengine-webRTC/software_design.md
+ - label: EP-D200 华系列 DTU
file: solutions/DTU/README.md
+ items:
+ - label: 开发资源汇总
+ file: solutions/DTU/dev_resources.md
+ - label: 快速上手
+ file: solutions/DTU/quick_start.md
+ items:
+ - label: 基于 TCP 协议的设备开发
+ file: solutions/DTU/tcp_demo.md
+ - label: 基于 MQTT 协议的设备开发
+ file: solutions/DTU/mqtt_demo.md
+ - label: 软件设计讲解
+ file: solutions/DTU/software_design.md
- label: 智慧农业中控面板
file: solutions/Agriculture-Control-Panel/README.md
- label: 可穿戴解决方案
diff --git a/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/README.md b/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e26e218df5bcd5d5677114de799d129ec0cf56d4
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/README.md
@@ -0,0 +1,20 @@
+# 豆包 RTC AI 聊天机器人
+
+该 AI 聊天机器人方案基于豆包火山 RTC 引擎开发,具有以下特性:
+
+- 支持智能体切换。
+- 支持音色切换。
+- 支持ASR字幕。
+- 支持TTS字幕。
+- 支持语音中断/打断。
+- 支持服务器地址切换。
+- 支持语音唤醒。
+- 使用 Python 语言,便于二次开发。
+
+
+
+---
+
+- [开发资源汇总](./dev_resources.md)
+- [快速上手](./quick_start.md)
+- [软件设计讲解](./software_design.md)
diff --git a/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/dev_resources.md b/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/dev_resources.md
new file mode 100644
index 0000000000000000000000000000000000000000..e273105b11539a3d14bb9fc0895d0f3f6bbc7ca4
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/dev_resources.md
@@ -0,0 +1,36 @@
+# 开发资源汇总
+
+## 硬件资料
+
+ - EC800MCNLE / EC800MCNGB QuecDuino 开发板(含天线、Type-C 数据线等)
+ > - [点此购买开发板套件](https://www.quecmall.com/goods-detail/2c90800c94028da20194824724370127)
+ - 电脑(Windows 7、Windows 10 或 Windows 11)
+ - 喇叭
+ - 任意 2-5W 功率的喇叭即可
+ - [移远商城购买链接](https://www.quecmall.com/goods-detail/2c90800c94028da201948249e9f4012d)
+
+## 软件资料
+
+ - QuecPython 模块的 USB 驱动:[QuecPython_USB_Driver_Win10_ASR](https://images.quectel.com/python/2023/04/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip)
+ - QuecPython 固件
+ - [EC800MCNLE](https://github.com/QuecPython/AIChatBot-Volcengine-webRTC/releases/download/v1.0.1/EC800MCNLER06A08M08_OCPU_QPY_TEST0219.zip)
+ - [EC800MCNGB](https://github.com/QuecPython/AIChatBot-Volcengine-webRTC/releases/download/v1.0.1/EC800MCNGBR06A01M08_OCPU_QPY_TEST0303.zip)
+
+## 开发工具
+
+- QPYcom - QuecPython 调试工具
+ - 版本:V3.6.0
+ - 下载 [QPYcom](https://python.quectel.com/wp-content/uploads/2024/09/QPYcom_V3.6.0.zip)
+- VSCode - 代码编辑器
+ - 下载 [VSCode](https://code.visualstudio.com/)
+
+## 实验源码
+
+- branch:ec800m-quecduino
+- github 仓库:[AIChatBot-Volcengine-webRTC](https://github.com/QuecPython/AIChatBot-Volcengine-webRTC/tree/ec800m-quecduino)
+ ```bash
+ git clone https://github.com/QuecPython/AIChatBot-Volcengine-webRTC.git
+ cd AIChatBot-Volcengine-webRTC
+ git checkout ec800m-quecduino
+ ```
+- [压缩包下载](https://codeload.github.com/QuecPython/AIChatBot-Volcengine-webRTC/zip/refs/heads/ec800m-quecduino)
\ No newline at end of file
diff --git a/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/quick_start.md b/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/quick_start.md
new file mode 100644
index 0000000000000000000000000000000000000000..746dad19890efde0b3b056061bb25f5e22427803
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/quick_start.md
@@ -0,0 +1,109 @@
+# 快速上手
+
+## 硬件准备
+
+- Windows 电脑一台,建议 `Win10` 系统。
+- 一套 [EC800MCNLE / EC800MCNGB QuecDuino 开发板](https://www.quecmall.com/goods-detail/2c90800c94028da20194824724370127) (含天线、Type-C 数据线等)。
+
+- 一张可正常使用的 Nano SIM 卡。
+- 一个 2-5W 功率的喇叭。
+
+## 环境搭建
+
+- 下载并安装 EC800M 系列模组驱动:[QuecPython_USB_Driver_Win10_ASR](https://images.quectel.com/python/2023/04/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip)。
+
+- 下载并安装 [VSCode](https://code.visualstudio.com/)。
+
+- 下载并解压 [QPYCom](https://images.quectel.com/python/2022/12/QPYcom_V3.6.0.zip) 工具到电脑的合适位置。
+
+- 下载固件包。
+ - [EC800MCNLE](https://github.com/QuecPython/AIChatBot-Volcengine-webRTC/releases/download/v1.0.1/EC800MCNLER06A08M08_OCPU_QPY_TEST0219.zip)
+ - [EC800MCNGB](https://github.com/QuecPython/AIChatBot-Volcengine-webRTC/releases/download/v1.0.1/EC800MCNGBR06A01M08_OCPU_QPY_TEST0303.zip)
+
+- 下载[实验源码](https://codeload.github.com/QuecPython/AIChatBot-Volcengine-webRTC/zip/refs/heads/ec800m-quecduino)。
+
+ > 💡 **Tips**
+ > - 固件内火山对话 token 临时测试使用,随时可能取消,如遇到无法正常加入房间对话,请联系移远fae人员获取支持。
+ > - 商业应用请走商务流程。
+
+## 硬件连接
+
+按照下图进行硬件连接:
+
+
+
+
+1. 将喇叭连接至图中标识有`SPK+`和`SPK-`的排针上。
+2. 在图示位置插入可用的 Nano SIM 卡。
+3. 将天线连接至标识有`LTE`字样的天线连接座上。
+4. 使用 Type-C 数据线连接开发板和电脑。
+
+## 设备开发
+
+### 开机
+
+完成硬件连接的工作后,长按开发板上标识为`PWK`的按键,直到网络灯闪烁,或电脑设备管理器的端口列表中出现包含 `Quectel USB` 字样的 COM 口,表示开机成功。
+
+
+
+### 烧录固件包
+
+参考[此章节](https://python.quectel.com/doc/Application_guide/zh/dev-tools/QPYcom/qpycom-dw.html#%E4%B8%8B%E8%BD%BD%E5%9B%BA%E4%BB%B6),烧录对应型号固件包至开发板。
+
+### 脚本导入与运行
+
+1. 参考[此章节](https://python.quectel.com/doc/Getting_started/zh/first_python.html#PC%E4%B8%8E%E6%A8%A1%E7%BB%84%E9%97%B4%E7%9A%84%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93),将源码目录下 `code` 文件夹中的所有文件导入到模组文件系统,如下图所示:
+
+
+
+
+2. 参考[此章节](https://python.quectel.com/doc/Getting_started/zh/first_python.html#%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6),执行主程序文件 `ai_main.py`。
+3. 参考[此章节](https://python.quectel.com/doc/Getting_started/zh/first_python.html#%E5%81%9C%E6%AD%A2%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C),停止程序运行。
+
+## 业务调试
+
+### 程序启动
+
+执行 `ai_main.py` 脚本后,程序开始运行。
+
+### 进入房间
+
+按下 KEY S3 键进入房间,收到 TIKTOK_RTC_EVENT_START 事件表示进入房间成功,开始进行语音对话。
+
+### 退出房间
+
+按下 KEY S2 键退出房间,收到 TIKTOK_RTC_EVENT_STOP 事件表示退出房间成功。
+
+
+**参考运行日志:**
+```python
+import example
+>>> example.exec('/usr/ai_main.py')
+volume: 11
+>>> lte network normal
+ai task running
+
+# 按KEY S3键进入智能体
+rtc_queue key event 1
+start rtc
+TIKTOK_RTC_EVENT_START
+TIKTOK_RTC_EVENT_TTS_TEXT 你
+TIKTOK_RTC_EVENT_TTS_TEXT 你好
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮到
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮到你
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮到你的
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮到你的吗
+
+# 按KEY S2键退出智能体
+rtc_queue key event 2
+stop rtc
+TIKTOK_RTC_EVENT_STOP
+
+```
+
diff --git a/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/software_design.md b/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/software_design.md
new file mode 100644
index 0000000000000000000000000000000000000000..54696b9838a3c54c867574c44c276a3f57beb7a2
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/AIChatBot-Volcengine-webRTC/software_design.md
@@ -0,0 +1,104 @@
+# 软件设计讲解
+
+## 软件框架
+
+### 框架设计图
+
+
+
+### 业务系统启动流程
+
+
+
+## 代码讲解
+
+### AI 事件管理
+
+处理 AI 事件
+
+```python
+def ai_callback(args):
+ global GPIO39 # audio PA GPIO管脚
+ event = args[0]
+ msg = args[1]
+ if event == 1:
+ print('TIKTOK_RTC_EVENT_START') # 进入房间,可以开始进行语音对话。
+ GPIO39.write(1)
+ elif event == 2:
+ print('TIKTOK_RTC_EVENT_STOP') # 退出房间,语音对话结束。
+ GPIO39.write(0)
+ elif event == 3:
+ print('TIKTOK_RTC_EVENT_TTS_TEXT {}'.format(msg)) # TTS 文本,模组播放tts文本。
+ elif event == 4:
+ print('TIKTOK_RTC_EVENT_ASR_TEXT {}'.format(msg)) # ASR 文本,模组识别到语音文本。
+ elif event == 5:
+ print('TIKTOK_RTC_EVENT_ERROR {}'.format(msg)) # 错误信息,模组发生错误时,上报错误信息。
+ else:
+ print('TIKTOK_RTC_EVENT UNKNOWN {}'.format(event)) #未知异常事件
+
+```
+
+### AI 初始化
+
+初始化 AI 对象,注册回调接口,以及配置AI对话时间。
+
+```python
+tiktok = TiktokRTC(300000, ai_callback)
+```
+
+**参考运行日志**
+```python
+
+import example
+>>> example.exec('/usr/ai_main.py')
+volume: 11
+>>> lte network normal
+ai task running
+
+```
+
+### AI 进入房间
+
+按下KEY S3键进入房间,开始进行语音对话,调用`tiktok.active(True)`接口激活。
+
+```python
+tiktok.active(True)
+```
+
+**参考运行日志**
+```python
+# 按KEY S3键进入智能体
+rtc_queue key event 1
+start rtc
+TIKTOK_RTC_EVENT_START
+TIKTOK_RTC_EVENT_TTS_TEXT 你
+TIKTOK_RTC_EVENT_TTS_TEXT 你好
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮到
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮到你
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮到你的
+TIKTOK_RTC_EVENT_TTS_TEXT 你好有什么可以帮到你的吗
+
+```
+
+### AI 退出房间
+
+按下KEY S2键退出房间,结束语音对话,调用`tiktok.active(False)`接口去激活。
+
+```python
+tiktok.active(False)
+```
+
+**参考运行日志**
+```python
+
+# 按KEY S2键退出智能体
+rtc_queue key event 2
+stop rtc
+TIKTOK_RTC_EVENT_STOP
+```
diff --git a/docs/Application_guide/zh/solutions/DTU/README.md b/docs/Application_guide/zh/solutions/DTU/README.md
index 0378887c512cf201b32670431feea5c13af8855b..841e878c50a1d22dc8f560acebe010368b8eb638 100644
--- a/docs/Application_guide/zh/solutions/DTU/README.md
+++ b/docs/Application_guide/zh/solutions/DTU/README.md
@@ -1,549 +1,26 @@
-# DTU方案介绍及应用指导
+# EP-D200 华系列 DTU
-## 方案概述
+华系列 DTU 产品搭载移远 EC800G-CN 模块,支持 4G Cat1 全网通,可实现串口与 4G(CAT1)的数据互传,相比于传统 2G/3G 网络,覆盖更广、速率更快、延时更低。采用宽电(9~36V)供电。接口丰富,提供 RS232、RS485 和 TTL 三种接口可选。开发方便快捷,支持透传,支持 Python 二次开发。安全可靠,支持软、硬件看门狗守护。体型小巧安装方便(22.6 * 74.6 mm)。 本产品方案支持 4G 全网通,采用宽电压(9~36V)供电,提供 RS232、RS485 和 TTL 三种接口,可使本产品应用于各种行业和复杂场景满足通信数传的需求,如电网、交通、消防、工业生产、气象环境、农业、矿产等等。
-### DTU简介
+**功能列表**:
-DTU (Data Transfer Unit,数据传输单元),是专门用于将串口**数据转换**为网络数据或将网络数据转换为串口数据通过无线**通信网络**进行传送的**无线终端设备**。具备组网迅速灵活,网络覆盖范围广,建设周期短、成本低等诸多优点。广泛应用于气象、水文水利、地质等行业。
+- 支持 Mqtt 透传
+- 支持 TCP/UDP 透传
+- 支持 RS485 转 4G
+- 支持 4G 全网通
+- 支持 Python 语言二次开发
+- 支持 9~36V 宽幅供电
+- POWER/DATA/WORK 指示灯
-### 基本原理
+**产品图示**:
-DTU主要功能就是把设备的数据通过无线的方式传送回云端(后台服务),如`图1:《DTU简介》`中所示,要完成数据传输需要建立一套完成的数据传输系统,这个系统中包括:DTU设备、客户设备(MCU)、移动网络、后台中心(云端)。在DTU设备中插入一张SIM卡,待设备上电后先**拨号和注册网络**;然后通过网络与云端中心服务**建立连接**;后续,DTU设备可以与云端后台服务**双向通信** —— 通过串口接收MCU数据经过处理后上报给云端(**数据上行**),DTU接收云端数据经过处理后通过串口发送给MCU(**数据下行**)。
+
-
+## 开发指南
-图1 DTU简介
-> 传感器(温度、湿度等传感器)采集数据发送给设备端MCU,设备端MCU通过串口将采集到的数据通过DTU发送到云端中心服务器,服务器接收到数据可以进行分析、处理、显示、保存等操作。
+[开发资源汇总](./dev_resources.md)
-### 应用领域
-
-
-
-图2 DTU应用领域
-## 硬件选型
-
- 本方案支持多款QuecPython硬件设备,下面介绍`QuecPython EVB开发板`和`DP-DTU-Q600`。
-
-#### QuecPython_EVB开发板介绍
-
-以搭载了`EC200U`模组的开发板`QuecPython_EC2X_EVB_V2.0` (EC2X开发板介绍:)为例。
-
-如下图所示,设备使用type-c给模块供电,UART与TTL转USB模块连接至开发电脑,可轻松实现调试。
-
-
-
-图3 QuecPython_EC2X_EVB_V2.0使用UART与TTL转USB连接电脑
-
-
-
-
-| 开发板上的PIN脚 | TTL转USB模块 | 图中线的颜色 |
-| --------------- | ------------ | ------------ |
-| J7的13脚(TX) | RX | 红线 |
-| J7的14脚(RX) | TX | 橙线 |
-| J7的3脚(GND) | GND | 黄线 |
-
-更多开发板请参阅:
-
-#### DP-DTU-Q600产品介绍
-
-DP-DTU-Q600 是一款 LTE CAT1 网络的 DTU,方便集成到工控机、工业设备、传感设备里,其物理尺寸为 72mm x 40.5mm x 20mm 产品具备网络覆盖广、传输延时低的特点,支持三大运营商接入;产品有三个指示灯,方便客户确认设备状态。
-
-
-
-图4 DP-DTU-Q600
-产品规格:
-
-| 规格 | 参数 |
-| ---------- | -------------------- |
-| 供电范围 | DC5-24V |
-| DC5-24V | 2PIN 端子 |
-| 天线接口 | SMA 外螺纹内孔 |
-| SIM 卡接口 | 自弹式 NANO SIM 卡槽 |
-| 网络制式 | 4G CAT1 全网通 |
-| 通信接口 | 2PIN 端子 RS485 |
-
-产品特点:
-
-- 内部集成TCP/IP协议栈,并且具有嵌入式操作系统, 具备拨号上网以及TCP/IP数据通信的功能
-- 提供串口数据双向转换功能
-- 支持自动心跳,保持永久在线
-- 支持参数配置,永久保存
-- 支持用户串口参数设置
-- 支持用户二次开发
-- 物联网卡,无需特殊卡,一般物联网卡都可使用
-- NANO SIM 卡槽
-- RS485 接口,方便集成
-
-设备调试:
-
-- 在NANO SIM卡座中插入SIM卡
-- 连接好天线
-- 接入电源
-
-
-
-图5 DP-DTU-Q600硬件接口
-连接设备至开发机(本文采用`CP2102 USB to TTL模块`进行连接和调试)。
-
-使用2根杜邦线分别连接`485A`、`485B`针脚,将`CP2102`连接至开发机的`USB`口(如图6所示)。
-
-
-
-图6 DP600R连接开发机
-> 连接成功后,设备上电以及连接网络后`power`和`net`指示灯亮起。
-
-#### 使用QPYcom调试
-
-安装QPYCom以及搭建QuecPython开发环境参考文档:。
-
-##### 打开repl串口
-
-
-
-
-
-图7 QPYCom打开repl串口
-##### 下载脚本
-
-创建下载项目 —— 切换到下载选项卡,点击创建项目,并输入任意项目名称。
-
-> 此处我们创建名为`dtu`的项目。
-
-
-
-图8 QPYCom新建项目
-选择导入文件 —— 右击`usr`目录,在弹出的选择框中点击**一键导入**,继而选择我们DTU代码仓库中的**code**文件夹 —— 即将code中的所有代码一键导入至模组。如下图所示:
-
-
-
-图9 QPYCom一键导入脚本
-导入脚本 —— 点击右下角`下载脚本`按钮,即可开始导入脚本。
-
-##### 运行DTU应用
-
-切换至"文件"选项卡,在右边选中"dtu.py",点击运行按钮,即可开始dtu调试运行,如果需要上电自动运行,只需要将"dtu.py"更名为"main.py"即可实现上电自动运行。
-
-
-
-图10 QPYCom执行脚本
-DTU运行成功,在QPYcom的"交互"窗口中,可观察到打印如下。
-
-> 应用程序运行依赖具体用户参数配置,比如配置MQTT连接参数等。参考后续DTU方案介绍章节。
-
-
-
-图11 QPYCom脚本输出日志
-## 方案软件设计
-
-### 系统框图
-
-
-
-图12 DTU方案系统图示
-组件说明:
-
-- 各类云对象:继承`modules.CloudObservable`并重写相应方法,主要实现云端初始化、连接以及数据收发等功能。
-- 订阅器:继承`modules.CloudObserver`并重写相应方法,主要实现订阅并接收云端对象的消息通知,并根据消息类型调用不同的执行器去处理。
-- 执行器:主要用于具体的业务处理,被订阅器所调用,默认有下行执行器(处理下行数据转发串口)、OTA升级执行器(处理升级消息和触发升级)、上行执行器(主要用于处理上行数据)。
-- 发布器:主要关联云端对象,用于将数据发布给云端。
-
-组件协作流程:
-
-- 构建串口对象 —— 通常至少有一个串口作为通信通道使用,根据实际情况选择使用多个或一个串口。
-- 构建下行数据执行器和OTA升级执行器 —— 执行器主要用作于业务处理,用户需要在执行器中实现具体的业务处理逻辑方法。
- - 下行数据执行器需添加一个串口对象,用于处理下行消息 —— 通过串口转发。
- - OTA升级执行器,需要实现具体的升级业务流程。
-- 创建云端对象 一一 支持阿里云、腾讯云、MQTT等,根据实际业务需求导入使用。
-- 创建订阅器。
- - 云端对象添加订阅器作为其观察者。
- - 订阅器可以有多个,对应下行消息多路处理。
-- 创建发布器。
- - 添加云端对象,作为发布器发布消息的⽬标对象。
-- 创建上⾏数据执⾏器。
- - 上⾏数据执⾏器,主要⽤于接收串⼝数据处理。
- - 添加⼀个发布器⽤作该执⾏器发布消息,具体该消息如何发布由发布器来决定。
-
-> 下行数据支持多路,**订阅器**作为一个观察者可以有多个,当一个云端添加多个订阅器后,一旦有消息下行,则会通知所有订阅器,不同的订阅器可能通过不同的**下行执行器**或**OTA升级执行器**对数据进行处理。
->
-> 上行数据支持多路,当需要监听多个串口数据,可以有多个**上行执行器**将多个串口数据转发云端。
-
-### 观察者模式
-
-- **概念:**当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。
-- **意图:**定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
-- **主要解决:**一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。
-- **何时使用:**一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。
-- **关键代码:**在抽象类里有一个列表存放观察者们。
-
-在DTU方案设计中,一个云端类(`Socket`和`MqttIot`)对象都是一个**被观察者**,当有下行数据时,会**通知**`RemoteSubscribe`(订阅器,**一个观察者**),而`RemoteSubscribe`会根据不同业务从而调用不同的**执行器**来处理。
-
-### 组件类设计与交互
-
-#### 类继承
-
-##### 云端类继承图示
-
-```mermaid
-graph TD;
-CloudObservable[CloudObservable]
-CloudObservable --> MqttIot[MqttIot]
-CloudObservable --> AliYunIot[AliYunIot]
-CloudObservable --> HuaweiIot[HuaweiIot]
-CloudObservable --> QuecThing[QuecThing]
-CloudObservable --> Socket[Socket]
-CloudObservable --> TXYunIot[TXYunIot]
-```
-
-**CloudObservable**: 可被观察者类,主要用于定义各种云对象类时被继承和重写。主要用户接口有:
-
-- init:云端初始化
-
-- addObserver: 添加一个观察者对象
-- delObserver:移除一个观察者对象
-- notifyObservers:通知所有观察者
-- through_post_data:透传数据发布
-- post_data:云端消息发布
-- ota_request:云端发布OTA升级请求
-- ota_action:执行升级动作
-
-##### 订阅器类继承图示
-
-```mermaid
-graph TD;
-CloudObserver[CloudObserver] --> RemoteSubscribe[RemoteSubscribe]
-```
-
-**CloudObserver**:观察者对象类,主要用于被动接收通知。主要有以下方法:
-
-- `execute`:在被被观察者通知后,会调用该方法执行具体动作。
-
-**RemoteSubscribe**: 订阅器,是一个观察者,用于接收云端下行数据通知。主要方法有:
-
-- `execute`:当被通知时,调用该方法执行具体的业务处理流程。(不同的业务使用不同的执行器处理,在该类对象中定义2种执行器:`__executor`(普通执行器),`__ota_executor`(专用于执行ota升级的执行器))
-- `add_executor`:添加执行器。
-
-#### 下行数据处理
-
-下行数据处理时序图:
-
-```mermaid
-sequenceDiagram
-Title: Device downlink data processing timing
-
-participant cloud as Cloud[mqtt]
-participant mqtt as MqttIot
-participant rs as RemoteSubscribe
-participant executor as Executor
-
-mqtt -->> cloud: connect cloud & subscribe
-rs -->> executor: add executor
-mqtt -->> rs: add observer
-rs -->> rs: Waiting for notification
-
-cloud ->> mqtt: downlink data
-mqtt ->> rs: notify observer(carrying downlink data)
-rs ->> executor: call executor
-```
-
-本方案中定义处理下行数据的执行器有两种:
-
-- `DownlinkTransaction`:下行数据执行器,负责将云端数据通过串口转发。
-- `OtaTransaction`:OTA升级执行器,负责处理升级相关业务。
-
-举个例子,当有下行数据时。假设为透传数据,会调用`DownlinkTransaction`执行器通过串口转发数据给MCU;假设为OTA升级消息,则会调用`OtaTransaction`执行器执行升级流程。
-
-#### 上行数据处理
-
-上行数据处理时序图:
-
-```mermaid
-sequenceDiagram
-Title: Device uplink data processing timing
-
-
-participant cloud as Cloud[mqtt]
-participant mqtt as MqttIot
-participant rp as RemotePublish
-participant executor as UplinkTransaction
-
-
-mqtt -->> cloud: connect cloud & subscribe
-rp -->> mqtt: add cloud
-executor -->> rp: add publisher
-executor -->> executor: read serial data
-
-executor ->> rp: uplink data
-rp ->> mqtt: check connect status
-mqtt ->> rp: report connect status
-rp ->> mqtt: reconnect according to status
-
-rp ->> mqtt: uplink data
-mqtt ->> cloud: uplink data
-```
-
-本方案中定义处理上行数据执行器有一种:
-
-- `UplinkTransaction`:上行数据执行器,用于接收串口数据并上传云端。
- - 主要属性:
- - `__remote_pub`: 远程发布器,用于上传数据至云端。是`modules.remote.RemotePublish`类对象。
- - `__serial`: 串口对象,用于串口数据收发。定义于`modules.serial.Serial`。
- - 主要方法:
- - `uplink_main`:用于接收串口数据,并上传云端。
-
-## 方案用户使用说明
-
-### 编写配置文件
-
-DTU配置文件路径:`code/dtu_config.json`。
-
-基于mqtt私有云做如下配置:
-
-- 系统配置
-
-
-
-- mqtt私有云配置
-
-
-
-设备端接口调用流程(接口调用逻辑、参数配置)、上位机工具配置参数、云端配置
-
-### DTU初始化流程及接口说明
-
-`code/dtu.py`中定义了应用类`Dtu`,其实例为应用对象,调用方法`start`即启动应用服务。
-
-```python
-from usr.dtu import Dtu
-
-if __name__ == "__main__":
- dtu = Dtu()
- dtu.start()
-```
-
-#### 类`Dtu`接口说明
-
-类`Dtu`中定义如下方法,说明如下所示(说明⻅代码中的注释部分,完整代码参阅`dtu.py`使⽤示 例)。
-
-```python
-class Dtu(Singleton):
-
- def __init__(self):
- # 定义一个定时器,用于定时检查OTA升级计划
- self.__ota_timer = osTimer()
- # OTA升级执行器,用于执行OTA升级相关业务
- self.__ota_transaction = None
-
- def __cloud_init(self, protocol):
- # 根据传入protocol参数指定协议,来初始化云端对象和连接云端
- # 该参数对应配置项`system_config.cloud`
- pass
-
- def __periodic_ota_check(self, args):
- # 定时检查OTA升级计划
- pass
-
- def start(self):
- # 初始化DTU,以及启动各项服务
- pass
-```
-
-#### 应用服务初始化流程说明
-
-DTU应用服务在`start`函数调用后即初始化和启动各项服务。
-
-初始化流程:
-
-- 加载系统配置
-- 创建串口通信对象(`usr.modules.serial.Serial`)
-- 创建云端对象(`usr.modules.mqttIot.MqttIot`或其他云对象)
-- 创建GUI工具通信对象(`usr.modules.dtu_transaction.GuiToolsInteraction`)
-- 创建数据上行执行器(`usr.modules.dtu_transaction.UplinkTransaction`)
-- 创建数据下行执行器(`usr.modules.dtu_transaction.DownlinkTransaction`)
-- 创建OTA升级执行器(`usr.modules.dtu_transaction.OtaTransaction`)
-- 创建订阅器(`usr.modules.remote.RemoteSubscribe`)
-- 创建发布器(`usr.modules.remote.RemotePublish`)
-- 启动定时器定期检查OTA升级计划
-- 创建服务线程持续读取串口数据,解析并上传至云端
-
-流程步骤详细说明:
-
-(1)加载系统配置
-
-```python
-from usr.settings import settings
-```
-
-`settings`是一个全局的配置文件(`Settings`)对象,对应是`/usr/dtu_config.json`配置文件参数,采用json格式持久化。
-
-方法:
-
-- `get`:获取当前所有配置参数(即json文件导入的dict类型数据)
-- `set(opt, val)`:设置`opt`配置项,参数是`val`。
-- `save`:持久化保存配置。
-- `remove`:删除配置文件。
-- `reset`:恢复默认配置。
-- `set_multi(**kwargs)`:批量设置参数。
-
-(2)创建串口通信对象
-
-```python
-from usr.modules.serial import Serial
-
-# Serial initialization
-serial = Serial(int(uart_setting.get("port")),
- int(uart_setting.get("baudrate")),
- int(uart_setting.get("databits")),
- int(uart_setting.get("parity")),
- int(uart_setting.get("stopbits")),
- int(uart_setting.get("flowctl")),
- uart_setting.get("rs485_direction_pin"))
-```
-
-`serial`是一个串口通信对象(`Serial`)。
-
-方法:
-
-- `write(data)`:传入写入data字节。
-- `read(n, timeout)`: 串口读n个字节,超时时间为timeout。
-
-(3)创建云端对象
-
-`Dtu.__init_cloud`方法用于创建云端对象(根据系统配置文件,创建不同的云端对象)。
-
-```python
-class Dtu(object):
-
- def __init_cloud(self, protocol):
- if protocol == 'mqtt':
- cloud_config = settings.current_settings.get("mqtt_private_cloud_config")
- client_id = cloud_config["client_id"] if cloud_config.get("client_id") else modem.getDevImei()
- cloud = MqttIot(cloud_config.get("server", None),
- int(cloud_config.get("qos", 0)),
- int(cloud_config.get("port", 1883)),
- cloud_config.get("clean_session"),
- client_id,
- cloud_config.get("username"),
- cloud_config.get("password"),
- cloud_config.get("publish"),
- cloud_config.get("subscribe"),
- cloud_config.get("keep_alive")
- )
- cloud.init(enforce=True)
- return cloud
- else:
- # 略,其他云端对象初始化参阅`code/dtu.py`
- pass
-
- def start(self):
- # ...
- cloud = self.__cloud_init(settings.current_settings["system_config"]["cloud"])
- # ...
-```
-
-以MQTT为例,从系统配置文件中读取mqtt配置参数,实例化`MqttIot`对象传入参数,并调用`MqttIot.init`方法完成云对象的初始化操作。
-
-方法:
-
-- `addObserver`: 添加观察者对象,用于云端在接收下行数据后,交由该对象处理。
- - 订阅器:当接收云端通知(携带下行数据)后,调用执行器处理。
-
-(4)创建GUI工具通信对象
-
-```python
-gui_tool_inter = GuiToolsInteraction()
-```
-
-GUI通信对象`GuiToolsInteraction`,用于解析串口下发的上位机指令,并处理具体指令业务。
-
-方法:
-
-- `parse_serial_data`:解析串口数据。
-
-(5)创建数据上行执行器
-
-```python
-up_transaction = UplinkTransaction()
-up_transaction.add_module(serial)
-up_transaction.add_module(gui_tool_inter)
-```
-
-方法:
-
-- `add_module`:添加模块对象。
- - 串口对象:上行执行器通过串口对象读取串口数据。
- - GUI通信对象,通过GUI对象解析读取到的串口数据。
- - 发布器对象,通过该对象将数据发布给云端。
-- `uplink_main`:读取串口数据,并使用GUI对象解析(如果是指令数据则处理指令业务,如果是上行数据则转发给云端)。
-
-(6)创建数据下行执行器
-
-```python
-down_transaction = DownlinkTransaction()
-down_transaction.add_module(serial)
-```
-
-方法:
-
-- `add_module`:添加模块对象
- - 串口对象:下行执行器,通过串口对象转发下行数据。
-- `downlink_main`:用于处理下行数据。
-
-(7)创建OTA升级执行器
-
-```python
-ota_transaction = OtaTransaction()
-```
-
-方法:
-
-- `ota_check`:检查OTA升级计划
-- `event_ota_plain`:响应升级计划(在接收到下发的升级计划后,校验参数和启动升级流程)
-- `add_module`:添加模块对象
- - 发布器对象:通过发布器对象上报升级状态,或者主动请求升级计划。
-
-(8)创建订阅器
-
-```python
-remote_sub = RemoteSubscribe()
-remote_sub.add_executor(down_transaction, 1)
-remote_sub.add_executor(ota_transaction, 2)
-cloud.addObserver(remote_sub)
-```
-
-方法:
-
-- `add_executor`:添加执行器。
- - 下行执行器:通过串口转发数据。
- - OTA升级执行器:解析下行升级消息,并处理升级请求。
-
-(9)创建发布器
-
-```python
-remote_pub = RemotePublish()
-remote_pub.add_cloud(cloud)
-up_transaction.add_module(remote_pub)
-ota_transaction.add_module(remote_pub)
-```
-
-方法:
-
-- `add_cloud`:添加云端对象,用该云端对象发布消息。
-
-(10)启动定时器定期检查OTA升级计划
-
-```python
-# 每600秒检测一次升级计划
-self.__ota_timer.start(1000 * 600, 1, self.__periodic_ota_check)
-```
-
-(11)创建服务线程持续读取串口数据,解析并上传至云端
-
-```python
-# Start uplink transaction
-_thread.start_new_thread(up_transaction.uplink_main, ())
-```
-
-启动单独线程执行`up_transaction.uplink_main`,`uplink_main`方法中,持续读取串口数据,使用`GuiToolsInteraction`解析串口数据处理上位机指令,或使用`RemotePublish`转发数据给云端。
+[快速上手](./quick_start.md)
+[软件设计讲解](./software_design.md)
diff --git a/docs/Application_guide/zh/solutions/DTU/dev_resources.md b/docs/Application_guide/zh/solutions/DTU/dev_resources.md
new file mode 100644
index 0000000000000000000000000000000000000000..84094db82f483b094fabbdb747a667eb07f30d49
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/DTU/dev_resources.md
@@ -0,0 +1,58 @@
+# 开发资源汇总
+
+本文档针对华系列 QuecPython 4G DTU,搜集和罗列了所需的硬件资源清单以及相关的配套资料。
+
+## 开发板资料
+
+- 型号:[EC800GCN 华系列 DTU 开发板](https://python.quectel.com/doc/Getting_started/zh/evb/ec800g_hua_dtu.html)
+- 购买链接:[点此跳转](https://www.quecmall.com/goods-detail/2c9080168ef07110018f1853d4050002)
+- 开发板文档:
+ - [EC800G_华-DTU系列开发板产品规格及用户指导](https://python.quectel.com/wp-content/uploads/2024/09/EC800G_华-DTU系列开发板产品规格及用户指导.pdf)
+
+## 模组资料
+
+- 型号:[EC800GCN](https://python.quectel.com/modules-cat/ec800g-series)
+- 规格书: [Quectel_EC800G-CN_LTE_Standard_模块产品规格书](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_EC800G-CN_LTE_Standard_%E6%A8%A1%E5%9D%97%E4%BA%A7%E5%93%81%E8%A7%84%E6%A0%BC%E4%B9%A6_V1.3.pdf)
+- 驱动下载:[QuecPython_USB_Driver_Win10_U_G](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverU_V1.0.19.zip)
+
+## 配件资料
+
+- 4G胶棒天线(1根)
+ - 型号: YECT012W1A
+ - 购买链接:[点击跳转](https://www.quecmall.com/goods-detail/2c90800c92239d5401923be899bc002c)
+- Nano Sim 卡 (1张)
+- Mini USB 数据线 (1根)
+- USB 转 TTL 模块(1个)
+ - 型号: QTMU0085DP
+ - 购买链接:[点击跳转](https://www.quecmall.com/goods-detail/2c90800b8eec5c8e018f659f669c0043)
+
+## 开发工具
+
+- QPYcom - QuecPython 调试工具
+ - 版本:V3.6.0
+ - 下载链接:[QPYcom](https://images.quectel.com/python/2022/12/QPYcom_V3.6.0.zip)
+- QCOM - 串口调试工具
+ - 版本:V1.6
+ - 下载链接:[点击跳转](https://python.quectel.com/wp-content/uploads/2024/09/QCOM_V1.6.zip)
+- VSCode - 代码编辑工具
+ - 下载链接:[点击跳转](https://code.visualstudio.com/)
+
+## 固件包
+
+- 版本: QPY_OCPU_BETA0002_EC800G_CNLD_FW
+- 下载链接:[点击跳转](https://python.quectel.com/wp-content/uploads/2024/09/QPY_OCPU_BETA0002_EC800G_CNLD_FW.zip)
+
+## 实验源码
+
+- 版本:v1.0.0
+
+- Github 仓库下载
+
+ ```shell
+ git clone https://github.com/QuecPython/solution-HuaDTU.git
+ cd solution-HuaDTU
+ git checkout v1.0.0
+ ```
+
+- [下载Zip源码包](https://github.com/QuecPython/solution-HuaDTU/archive/refs/heads/main.zip)
+
diff --git a/docs/Application_guide/zh/solutions/DTU/mqtt_demo.md b/docs/Application_guide/zh/solutions/DTU/mqtt_demo.md
new file mode 100644
index 0000000000000000000000000000000000000000..58bcef1333d4c06d1c9866e2bf9cd3bc18497775
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/DTU/mqtt_demo.md
@@ -0,0 +1,154 @@
+# 基于 MQTT 协议的设备开发
+
+## 修改配置文件
+
+工程配置文件路径:`code/dtu_config.json`。
+
+基于 TCP 私有服务器数据透传做如下配置:
+
+- 默认 `system_config.cloud` 配置项定义为 `"tcp"` 即 TCP 透传模式,系统会自行读取 `socket_private_cloud_config` 配置项。
+
+ ```python
+ {
+ "system_config": {
+ "cloud": "mqtt" # 默认配置 mqtt 透传模式
+ }
+ }
+ ```
+
+- 本实验采用 MQTT 透传模式,用户需根据实际情况设置 `mqtt_private_cloud_config` 配置项中的 MQTT 服务器域名(*server*)、端口(*port*)、客户端id(*client_id*)以及订阅和发布主题等参数,如下。
+
+ ```python
+ {
+ "mqtt_private_cloud_config": {
+ "server": "mq.tongxinmao.com",
+ "port": 18830,
+ "client_id": "txm_1682300809",
+ "user": "",
+ "password": "",
+ "clean_session": true,
+ "qos": 0,
+ "keepalive": 60,
+ "subscribe": {"down": "/public/TEST/down"}, # 下行数据透传主题
+ "publish": {"up": "/public/TEST/up"} # 上行数据透传主题
+ }
+ }
+ ```
+
+- `uart_config` 配置项是串口配置参数,默认是根据当前实验开发板做的配置,不可更改。如用户采用其他开发板则需要根据实际硬件进行配置。
+
+```python
+{
+ "uart_config": {
+ "port": 2, # 串口号,根据实际硬件配置选择,当前实验不可更改
+ "baudrate": 115200, # 波特率
+ "bytesize": 8, # 数据位
+ "parity": 0, # 奇偶校验
+ "stopbits": 1, # 停止位
+ "flowctl": 0, # 流控
+ "rs485_config": { # RS485 配置
+ "gpio_num": 28, # 485 控制脚,当前实验不可更改
+ "direction": 0 # 引脚电平变化控制,1表示引脚电平变化为:串口发送数据之前由低拉高、发送数据之后再由高拉低,0表示引脚电平变化为:串口发送数据之前由高拉低、发送数据之后再由低拉高
+ }
+ }
+}
+```
+
+完整配置文件模版如下:
+
+```json
+{
+ "system_config": {
+ "cloud": "tcp"
+ },
+ "mqtt_private_cloud_config": {
+ "server": "mq.tongxinmao.com",
+ "port": 18830,
+ "client_id": "txm_1682300809",
+ "user": "",
+ "password": "",
+ "clean_session": true,
+ "qos": 0,
+ "keepalive": 60,
+ "subscribe": {"down": "/public/TEST/down"},
+ "publish": {"up": "/public/TEST/up"}
+ },
+ "socket_private_cloud_config": {
+ "domain": "112.31.84.164",
+ "port": 8305,
+ "timeout": 5,
+ "keep_alive": 5
+ },
+ "uart_config": {
+ "port": 2,
+ "baudrate": 115200,
+ "bytesize": 8,
+ "parity": 0,
+ "stopbits": 1,
+ "flowctl": 0,
+ "rs485_config": {
+ "gpio_num": 28,
+ "direction": 0
+ }
+ }
+}
+```
+
+参数说明:
+
+- `system_config.config`: 指定当前使用的私有云类型。目前支持tcp和mqtt。
+- `mqtt_private_cloud_config`: MQTT私有云配置。
+- `socket_private_cloud_config`: tcp私有云配置。
+- `uart_config`:串口参数配置。
+
+## 脚本导入并运行
+
+下载安装 **QPYCom** 工具后使用该工具下载脚本至 QuecPython 模组。
+
+> 💡 **Tips**
+>
+> QPYCom 安装和使用教程:https://python.quectel.com/doc/Application_guide/zh/dev-tools/QPYcom/index.html
+
+## 业务调试
+
+**查看 REPL 交互口日志**
+
+程序运行后,在 REPL 交互页面可以看到日志输出如下图所示。 DTU服务中有2个线程处理数据,一个是用于检测读取串口数据并转发数据给云端,一个是检测云端下行数据透传给串口,如下图所示。
+
+
+
+ **上行数据透传**
+
+使用串口调试工具模拟mcu给模组发送上行数据。
+
+- 在`Input String`输入框中输入`hello world!`字符串。
+- 点击`Send Command`按钮通过串口发送数据。
+
+
+
+DTU接收串口数据,直接透传至mqtt云端。
+
+
+
+ 云端接收上行数据日志
+
+
+
+**下行数据透传**
+
+云端发送下行数据。
+
+- 设置云端下行数据主题(与DTU应用配置的订阅主题一致)。
+- 输入下行数据。
+- 发布。
+
+
+
+ DTU下行数据日志。
+
+
+
+通过QCOM观察串口调试工具模拟mcu接收模组下行数据。
+
+
+
diff --git a/docs/Application_guide/zh/solutions/DTU/quick_start.md b/docs/Application_guide/zh/solutions/DTU/quick_start.md
new file mode 100644
index 0000000000000000000000000000000000000000..87b996d90937b846d9ff0520c11e548b39ac7128
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/DTU/quick_start.md
@@ -0,0 +1,36 @@
+# 快速上手
+
+## 硬件准备
+
+- Windows 电脑一台,建议 Win10 系统。
+- 一套 [EC800GCN 华系列 DTU 开发板](https://python.quectel.com/doc/Getting_started/zh/evb/ec800g_hua_dtu.html)。
+- 一张可用的 Nano Sim 卡。
+- 一根胶棒天线。
+- 一根 Mini USB 数据线。
+- 一个 USB 转 TTL 模块。
+
+## 环境搭建
+
+- 下载并安装 EC800G 系列模组驱动:[QuecPython_USB_Driver_Win10_U_G](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverU_V1.0.19.zip)。
+- 下载并安装 [VSCode](https://code.visualstudio.com/)。
+- 下载并解压 [QPYCom](https://python.quectel.com/wp-content/uploads/2024/09/QPYcom_V3.6.0.zip) 工具到电脑的合适位置。
+- 下载并安装固件包[QPY_OCPU_BETA0002_EC800G_CNLD_FW](https://python.quectel.com/wp-content/uploads/2024/09/QPY_OCPU_BETA0002_EC800G_CNLD_FW.zip)。(固件包烧录请参阅 [使用 QPYcom 烧录固件](https://python.quectel.com/doc/Application_guide/zh/dev-tools/QPYcom/qpycom-dw.html))
+- 下载实验源码。
+
+## 硬件连接
+
+按照下图进行硬件连接:
+
+
+
+1. 连接胶棒天线。
+2. 插入 Nano Sim 卡。
+3. 使用 mini USB 数据线连接至电脑。
+4. 使用 USB 转 TTL 模块连接至电脑。TX(DTU开发板) 接 RX(USB 转 TTL 模块);RX(DTU开发板) 接 TX(USB 转 TTL 模块);GND(DTU开发板) 接 GND(USB 转 TTL 模块)共地。(如果采用 RS485 接口,则两端的 A 线连接至 A 线,B 线连接至 B 线。)
+5. 开发板采用 9~36 V 宽幅供电。
+
+## 设备开发
+
+- [基于 TCP 协议的设备开发](./tcp_demo.md)
+- [基于 MQTT 协议的设备开发](./mqtt_demo.md)
+
diff --git a/docs/Application_guide/zh/solutions/DTU/software_design.md b/docs/Application_guide/zh/solutions/DTU/software_design.md
new file mode 100644
index 0000000000000000000000000000000000000000..d4e5682d1b343b874245af6dcbb2b3366049e818
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/DTU/software_design.md
@@ -0,0 +1,334 @@
+# 软件设计讲解
+
+## 应用流程图
+
+一般了解一个程序代码大多从启动部分开始,这里也采取这种方式,先寻找程序的启动源头。本例程,一般的程序启动顺序如下图所示:
+
+
+
+整体上业务可以总结为如下流程:
+
+1. 启动喂狗线程(华系列 4G DTU 载有硬件狗)
+2. 初始化 DTU 对象后,读取系统配置
+3. 初始化串口外设
+4. 检查网络状态
+5. 初始化云端配置和消息队列
+6. 启动数据上下、下行业务线程
+
+> 💡 基本原理:本 DTU 采用 **多线程 + 消息队列** 实现串口和云端数据的上下行转发。其中,上行线程(Uplink data thread)用于读取串口数据并发送至云端;下行线程(Downlink data thread)读取消息队列中的云端数据通过串口转发;消息队列用于缓存云端的下行数据。
+
+## 目录结构
+
+- `usr`:
+ - `_main.py`:主脚本
+ - `dtu_config.json`:配置文件
+ - `dtu.py`:DTU 模型对象
+ - `logging.py`:日志模块
+ - `cloud_abc.py`:云对象模型抽象基类
+ - `mqttIot.py`:Mqtt 云对象模型实现
+ - `network.py`:网络
+ - `serial.py`:串口模型对象实现
+ - `socketIot.py`:Socket 云对象模型实现
+ - `threading.py`:线程、队列和互斥锁
+ - `utils.py`:工具类
+
+## API说明
+
+### Manager 管理类
+
+示例程序的主脚本 `_main.py` 中我们定义一个 `Manager` 类来管理初始化的各种关联的对象。
+
+主要方法:
+
+- `__init__`:管理类初始化方法
+ - 看门狗:由于华系列 4G DTU 配置硬件看门狗(GPIO12),所以主脚本程序中需要初始化一个 `self.dog_pin` 对象并采用 `osTimer` 周期喂狗。
+ - DTU 模型对象:`self.dtu` 是 DTU 对象,通过该对象方法 `self.dty.config.read_from_json("/usr/dtu_config.json")` 从文件中读取相关配置。`start` 方法是程序主入口,先启动间隔 3s 的喂狗定时器,然后检查 sim 卡和网络状态,最后调用 `self.dtu.run()` 来启动 DTU 例程。
+- `start`:启动方法
+ - 开启喂狗定时器
+ - 检查 sim 卡状态
+ - 检查网络状态
+ - 启动 dtu 例程
+- `__feed`:喂狗定时器的回调函数
+
+实现如下:
+
+```python
+import sim
+import osTimer
+from machine import Pin
+from usr import network
+from usr.dtu import DTU
+
+
+class Manager(object):
+
+ def __init__(self, dog_gpio=Pin.GPIO12):
+ self.dog_pin = Pin(dog_gpio, Pin.OUT, Pin.PULL_DISABLE, 1)
+ self.dog_feed_timer = osTimer()
+
+ self.dtu = DTU('Quectel')
+ self.dtu.config.read_from_json('/usr/dtu_config.json')
+
+ def start(self):
+ # start timer to feed dog
+ self.dog_feed_timer.start(3000, 1, self.__feed)
+ # check sim card
+ if sim.getStatus() != 1:
+ raise ValueError("sim card not ready")
+ # check network
+ network.wait_network_ready()
+ # start dtu business
+ self.dtu.run()
+
+ def __feed(self, args):
+ if self.dog_pin.read():
+ self.dog_pin.write(0)
+ else:
+ self.dog_pin.write(1)
+
+
+if __name__ == "__main__":
+ manager = Manager()
+ manager.start()
+```
+
+### 对象模型
+
+本方案中定义了多个对象模型,其中主要有 `DTU` 对象模型、云对象模型(`CloudABS`)和串口对象模型(`Serial`)。基本定义如下:
+
+
+
+#### DTU 对象模型
+
+在 `dtu.py` 模块中定义 DTU 类,该类主要用于管理串口、云、以及数据的上下行业务。
+
+`config` 属性:
+
+DTU 对象中有一个属性 `config` 是类 `Configure` 对象,该对象用于管理应用配置。如下:
+
+```python
+from usr.dtu import DTU
+
+dtu = DTU('Quectel')
+dtu.config.read_from_json('/usr/dtu_config.json')
+```
+
+其中,支持从 json 文件中存储相关配置,操作方法类似内置字典类型,可以采用如下方式来读写配置(以读取 `system_config` 配置项为例)。
+
+- 从指定 json 文件中导入配置:`dtu.config.read_from_json('/usr/dtu_config.json')`
+- 使用`get` 方法读取配置项:`dtu.config.get("system_config")`
+- 使用运算符`[]` 读取配置项:`dtu.config["system_config"]`
+- 保存并更新配置:`dtu.config.save()`
+
+`serial` 属性:
+
+该属性是一个 property 属性,用于构建串口对象,用户一般无需修改,只需要按照实际情况定义配置参数即可。
+
+```python
+@property
+def serial(self):
+ """create&get serial object according configure"""
+ __serial__ = getattr(self, '__serial__', None)
+ if __serial__ is None:
+ __serial__ = Serial(**self.config.get('uart_config')) # init serial
+ __serial__.open() # open serial
+ setattr(self, '__serial__', __serial__)
+ return __serial__
+```
+
+`cloud`属性:
+
+该属性是一个 property 属性,用于获取云对象,方法中使用 `__create_cloud` 来实际构建云对象。
+
+```python
+@property
+def cloud(self):
+ """get cloud object"""
+ cloud = getattr(self, '__cloud__', None)
+ if cloud is None:
+ cloud = self.__create_cloud() # create cloud object
+ setattr(self, '__cloud__', cloud)
+ return cloud
+```
+
+`__create_cloud` 方法:
+
+该方法,是用于实际创建云对象,如果用户自定义云对象,则需要再该函数中新增自定义对象初始化。
+
+```python
+def __create_cloud(self):
+ """create cloud object according configure"""
+ # read cloud type
+ cloud_type = self.config.get('system_config.cloud')
+ if cloud_type == "mqtt":
+ mqtt_config = self.config.get('mqtt_private_cloud_config') # init mqtt cloud
+ cloud = MqttIot(**mqtt_config)
+ elif cloud_type == "tcp":
+ socket_config = self.config.get('socket_private_cloud_config') # init tcp cloud
+ cloud = SocketIot(**socket_config)
+ else:
+ raise ValueError('\"{}\" not supported now!'.format(cloud_type))
+ cloud.connect() # connect to cloud
+ cloud.listen() # start listen message from cloud
+ return cloud
+```
+
+`up_transaction_handler` 方法:用于上行数据传输业务线程入口函数。
+
+`down_transaction_handler` 方法:用于下行数据传输业务线程入口函数。
+
+`run` 方法:启动业务,包括根据配置文件创建串口和云对象以及创建上下行业务数据处理线程。
+
+#### Serial 对象模型
+
+在 `serial.py` 模块中定义串口模型类 `Serial`,主要用户实现串口的读写操作。主要接口如:
+
+- `Serial`
+ - `__init__`: 串口初始化。
+ - `open`:打开串口。
+ - `close`:关闭串口。
+ - `write`:串口写。
+ - `read`:串口读。
+
+串口使用示例:
+
+```python
+from usr.serial import Serial
+
+# init Serial object
+s = Serial(port=2, baudrate=115200, bytesize=8, parity=0, stopbits=1, flowctl=0, rs485_config=None)
+# open serial
+s.open()
+
+# serial write method
+s.write(b"hello world!")
+
+# serial read method
+recv_data = s.read()
+print(recv_data)
+```
+
+#### Cloud 对象模型
+
+**Cloud 模型**
+
+为了适配不同的云平台(socket 私有云、mqtt 等),本方案定义抽象云类型如下,用户可以自行按照抽象类型,自定义 Cloud 对象以适配不同云平台。
+
+> 💡 Cloud 模型对象实现可以参考 `socketIot` 和 `MqttIot`。
+
+```python
+class CloudABC(object):
+
+ def __init__(self, **kwargs):
+ """
+ key arguments: kwargs, used for initial params for cloud (customer used).
+ """
+ raise NotImplementedError("this method should me implemented for customer designed Cloud Object")
+
+ def connect(self):
+ """connect to Coud"""
+ raise NotImplementedError("customer should implement this method to connect cloud")
+
+ def listen(self):
+ """listen message from cloud.
+
+ usually we use this method to start a thread for receiving message from the cloud and put message input a Queue, and then use `self.recv` method to get it on app side.
+ """
+ raise NotImplementedError("customer should implement this method to listen cloud message")
+
+ def recv(self):
+ """receive a message"""
+ raise NotImplementedError("customer should implement this method to recv a message")
+
+ def send(self, *args):
+ """send message
+
+ position arguments: args, customer designed method used for send message
+ """
+ raise NotImplementedError("customer should implement this method to send a message")
+```
+
+上述是 Cloud 对象模型主要方法和属性,其中:
+
+- `__init__`:接收关键字参数,通常用于配置云端初始化参数,用户可自行定义。
+- `connect`:连接云端服务器。
+- `listen`:监听云端下行消息,通常在该方法中使用线程来读取云端下行数据,并放入消息队列中方便应用侧通过 `self.recv` 方法来获取。
+- `recv`:获取下行消息。
+- `send`:发送上行消息,接收若干位置参数用户可自定义。
+
+## 业务代码讲解
+
+数传业务主要在 DTU 类(`dtu.py`)中实现,该类主要用于管理串口、云、以及数据的上下行业务。
+
+DTU 对象在主脚本中通过调用 `run` 方法来开启整个 DTU 业务,其中该方法主要用于创建并运行两个线程,分别是上行数据处理线程(线程工作函数是 `up_transaction_handler`)和下行数据处理线程(线程工作函数是 `down_transaction_handler`)。在线程函数中分别通过两个 property 属性来获取对应的串口对象和云对象。其中串口对象属性是 `serial`,线程在调用该属性时即刻创建并打开配置的串口对象提供读写接口。其中云对象属性是 `cloud`,线程在调用该属性时即刻创建并连云对象提供接收和发送接口。
+
+函数调用时序图:
+
+```mermaid
+sequenceDiagram
+Title: Device data transmit-processing timing
+
+
+participant cloud as Cloud
+participant dtu as DTU
+participant serial as Serial
+
+loop down_transaction_handler thread
+cloud ->> dtu: CloudABC.recv
+dtu ->> serial: Serial.write
+end
+
+loop up_transaction_handler thread
+serial ->> dtu: Serial.read
+dtu ->> cloud: CloudABC.send
+end
+```
+
+上行数据处理线程函数 `DTU.up_transaction_handler` 实现如下:
+
+```python
+class DTU(object):
+
+ # ...
+
+ def up_transaction_handler(self):
+ while True:
+ try:
+ data = self.serial.read(1024)
+ if data:
+ logger.info('up transfer msg: {}'.format(data))
+ if isinstance(self.cloud, SocketIot):
+ msg = [data]
+ elif isinstance(self.cloud, MqttIot):
+ msg = ['up', data]
+ else:
+ raise TypeError('unknow cloud type.')
+ self.cloud.send(*msg)
+ except Exception as e:
+ logger.error('up transfer error: {}'.format(e))
+
+ # ...
+```
+
+`up_transaction_handler`函数按照 1KB 的 buffer 读取串口数据(用户可以自行调整buffer大小),并格式化消息后通过 `CloudABC.send` 接口发送数据至云端。用户继承 `CloudABC` 并自定义云对象并实现 `CloudABC.send` 方法后可根据自定义消息格式处理并发送数据。
+
+下行数据处理线程函数 `down_transaction_handler` 实现如下:
+
+```python
+class DTU(object):
+
+ # ...
+
+ def down_transaction_handler(self):
+ while True:
+ try:
+ msg = self.cloud.recv()
+ logger.info('down transfer msg: {}'.format(msg['data']))
+ self.serial.write(msg['data'])
+ except Exception as e:
+ logger.error('down transfer error: {}'.format(e))
+
+ # ...
+```
+
+`down_transaction_handler` 函数通过调用 `CloudABC.recv` 来获取下行消息,并通过 `Serial.write` 转发消息。
\ No newline at end of file
diff --git a/docs/Application_guide/zh/solutions/DTU/tcp_demo.md b/docs/Application_guide/zh/solutions/DTU/tcp_demo.md
new file mode 100644
index 0000000000000000000000000000000000000000..9b8d81b8ea26521f875df77c7072aebe2e132f97
--- /dev/null
+++ b/docs/Application_guide/zh/solutions/DTU/tcp_demo.md
@@ -0,0 +1,119 @@
+# 基于 TCP 协议的设备开发
+
+## 修改配置文件
+
+工程配置文件路径:`code/dtu_config.json`。
+
+基于 TCP 私有服务器数据透传做如下配置:
+
+- 默认 `system_config.cloud` 配置项定义为 `"tcp"` 即 TCP 透传模式,系统会自行读取 `socket_private_cloud_config` 配置项。
+
+ ```python
+ {
+ "system_config": {
+ "cloud": "tcp" # 默认配置 tcp 透传模式
+ }
+ }
+ ```
+
+- 本实验采用 TCP 透传模式,用户需根据实际情况设置 `socket_private_cloud_config` 配置项中的 TCP 服务器域名(*domain*)和端口(*port*)。
+
+ ```python
+ {
+ "socket_private_cloud_config": {
+ "domain": "112.31.84.164", # 服务器域名/ip
+ "port": 8305, # 端口号
+ "timeout": 5, # 超时时间 (unit: s)
+ "keep_alive": 5 # 心跳周期 (unit: s)
+ }
+ }
+ ```
+
+- `uart_config` 配置项是串口配置参数,默认是根据当前实验开发板做的配置,不可更改。如用户采用其他开发板则需要根据实际硬件进行配置。
+
+```python
+{
+ "uart_config": {
+ "port": 2, # 串口号,根据实际硬件配置选择,当前实验不可更改
+ "baudrate": 115200, # 波特率
+ "bytesize": 8, # 数据位
+ "parity": 0, # 奇偶校验
+ "stopbits": 1, # 停止位
+ "flowctl": 0, # 流控
+ "rs485_config": { # RS485 配置
+ "gpio_num": 28, # 485 控制脚,当前实验不可更改
+ "direction": 0 # 引脚电平变化控制,1表示引脚电平变化为:串口发送数据之前由低拉高、发送数据之后再由高拉低,0表示引脚电平变化为:串口发送数据之前由高拉低、发送数据之后再由低拉高
+ }
+ }
+}
+```
+
+完整配置文件模版如下:
+
+```json
+{
+ "system_config": {
+ "cloud": "tcp"
+ },
+ "mqtt_private_cloud_config": {
+ "server": "mq.tongxinmao.com",
+ "port": 18830,
+ "client_id": "txm_1682300809",
+ "user": "",
+ "password": "",
+ "clean_session": true,
+ "qos": 0,
+ "keepalive": 60,
+ "subscribe": {"down": "/public/TEST/down"},
+ "publish": {"up": "/public/TEST/up"}
+ },
+ "socket_private_cloud_config": {
+ "domain": "112.31.84.164",
+ "port": 8305,
+ "timeout": 5,
+ "keep_alive": 5
+ },
+ "uart_config": {
+ "port": 2,
+ "baudrate": 115200,
+ "bytesize": 8,
+ "parity": 0,
+ "stopbits": 1,
+ "flowctl": 0,
+ "rs485_config": {
+ "gpio_num": 28,
+ "direction": 0
+ }
+ }
+}
+```
+
+参数说明:
+
+- `system_config.config`: 指定当前使用的私有云类型。目前支持tcp和mqtt。
+- `mqtt_private_cloud_config`: MQTT私有云配置。
+- `socket_private_cloud_config`: tcp私有云配置。
+- `uart_config`:串口参数配置。
+
+## 脚本导入并运行
+
+下载安装 **QPYCom** 工具后使用该工具下载脚本至 QuecPython 模组。
+
+> 💡 **Tips**
+>
+> QPYCom 安装和使用教程:https://python.quectel.com/doc/Application_guide/zh/dev-tools/QPYcom/index.html
+
+## 业务调试
+
+程序运行后,在 REPL 交互页面可以看到日志输出如下图所示。
+
+左侧图示,我们使用 QCOM 模拟 MCU 打开用于透传的模组串口(即 USB 转 TTL 模块对应的 COM 口)。
+
+右侧图示,REPL 交互口输出的模组日志。
+
+使用串口工具 QCOM 模拟 MCU 串口上行数据,通过 DTU 透传至 TCP 回显服务器,再由回显服务器将相同数据通过 DTU 下行透传至 QCOM。
+
+
+
+本案例中采用的是 TCP 回显服务器,所以 QCOM 上行数据,经过 DTU 透传至 TCP 服务器接收到之后会立即按原路径下行。
+
diff --git a/docs/Application_guide/zh/solutions/poc/README.md b/docs/Application_guide/zh/solutions/poc/README.md
index 7378c652ba31de65387e7d0a85be0efe65218045..2b2600555f78765a20d4d37dd8f4f56fdfccafd0 100644
--- a/docs/Application_guide/zh/solutions/poc/README.md
+++ b/docs/Application_guide/zh/solutions/poc/README.md
@@ -7,7 +7,7 @@
- 超长待机: 支持超低功耗模式。
- 使用 Python 语言,便于二次开发。
-
+
---
diff --git a/docs/Application_guide/zh/solutions/poc/dev_resources.md b/docs/Application_guide/zh/solutions/poc/dev_resources.md
index 4c787494e5c1f2b6177b3e2d9b2c77122c7589e0..c391b5497a1f92a3489a9fd1fdf81721c85be789 100644
--- a/docs/Application_guide/zh/solutions/poc/dev_resources.md
+++ b/docs/Application_guide/zh/solutions/poc/dev_resources.md
@@ -13,9 +13,8 @@
## 模组资料
- 型号:[EC600MCN_LE](https://python.quectel.com/modules-cat/ec600m-series)
-- [规格书](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_EC600M-CN_LTE_Standard_模块产品规格书_V1.2.pdf)
+- [规格书](https://images.quectel.com/python/2023/04/Quectel_EC600M-CN_LTE_Standard_模块产品规格书_V1.2.pdf)
- [驱动下载](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip)
-
## 配件资料
- LCD 显示屏
@@ -27,27 +26,24 @@
## 开发工具
-### QPYcom - QuecPython 调试工具
-
-- 版本:V3.6.0
-- 下载 [QPYcom](https://python.quectel.com/wp-content/uploads/2024/09/QPYcom_V3.6.0.zip)
-
-### VSCode - 代码编辑器
-
-- 下载 [VSCode](https://code.visualstudio.com/)
+- QPYcom - QuecPython 调试工具
+ - 版本:V3.6.0
+ - 下载 [QPYcom](https://python.quectel.com/wp-content/uploads/2024/09/QPYcom_V3.6.0.zip)
+- VSCode - 代码编辑器
+ - 下载 [VSCode](https://code.visualstudio.com/)
## 固件包
-- 版本:EC600MCNLER06A01M08_XBND_OCPU_QPY_BETA0802
-- 下载[固件](https://github.com/QuecPython/solution-POC/releases/download/v.1.0.0/EC600MCNLER06A01M08_XBND_OCPU_QPY_BETA0802.zip)
+- 版本:EC600MCNLER06A01M08_POC_XBND_OCPU_QPY_BETA0117
+- 下载[固件](https://github.com/QuecPython/solution-POC/releases/download/v2.0.1/EC600MCNLER06A01M08_POC_XBND_OCPU_QPY_BETA0117.zip)
## 实验源码
-- 版本:v2.0.0
+- 版本:v2.0.1
- github 仓库:
```bash
git clone https://github.com/QuecPython/solution-POC
cd solution-POC
- git checkout EC600MCNLE-Demo # 或者 git checkout v2.0.0
+ git checkout v2.0.1
```
-- [压缩包下载](https://github.com/QuecPython/solution-POC/archive/refs/tags/v2.0.0.zip)
\ No newline at end of file
+- [压缩包下载](https://github.com/QuecPython/solution-POC/archive/refs/tags/v2.0.1.zip)
\ No newline at end of file
diff --git a/docs/Application_guide/zh/solutions/poc/quick_start.md b/docs/Application_guide/zh/solutions/poc/quick_start.md
index 7a1b74cb14ed1be8c7dedb762c1867cc096fe2fd..6c1b4c5bf7bab879446fe449b51aef70e76085db 100644
--- a/docs/Application_guide/zh/solutions/poc/quick_start.md
+++ b/docs/Application_guide/zh/solutions/poc/quick_start.md
@@ -14,18 +14,22 @@
## 环境搭建
-- 下载并安装 EC600M 系列模组驱动:[QuecPython_USB_Driver_Win10_ASR](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip)。
+- 下载并安装 EC600M 系列模组驱动:[QuecPython_USB_Driver_Win10_ASR](https://images.quectel.com/python/2023/04/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip)。
-- 下载并安装[VSCode](https://code.visualstudio.com/)。
+- 下载并安装 [VSCode](https://code.visualstudio.com/)。
-- 下载并解压 [QPYCom](https://python.quectel.com/wp-content/uploads/2024/09/QPYcom_V3.6.0.zip) 工具到电脑的合适位置。
+- 下载并解压 [QPYCom](https://images.quectel.com/python/2022/12/QPYcom_V3.6.0.zip) 工具到电脑的合适位置。
-- 下载[固件包](https://github.com/QuecPython/solution-POC/releases/download/v.1.0.0/EC600MCNLER06A01M08_XBND_OCPU_QPY_BETA0802.zip)。
+- 下载[固件包](https://github.com/QuecPython/solution-POC/releases/download/v2.0.1/EC600MCNLER06A01M08_POC_XBND_OCPU_QPY_BETA0117.zip)。
-- 下载[实验源码](https://github.com/QuecPython/solution-POC/archive/refs/tags/v2.0.0.zip)。
+- 下载[实验源码](https://github.com/QuecPython/solution-POC/archive/refs/tags/v2.0.1.zip)。
- 申请伯纳德**芯平台**测试账号。
-
+
+ 根据下图所示步骤获取 IMEI 号,将其提供给移远销售人员,即可申请对讲机测试账号。
+
+ 
+
> 💡 **Tips**
> - 非商业测试,请联系移远销售人员( li.bao@quectel.com ),申请伯纳德**芯平台**测试账号。
> - 商业应用请走商务流程。
@@ -34,33 +38,33 @@
按照下图进行硬件连接:
-
+
-1. 将喇叭连接至图中标识有`SPK+`和`SPK-`的排针上。
+1. 将喇叭连接至图中标识有 `SPK+` 和 `SPK-` 的排针上。
2. 将 LCD 屏连接至标识有 `LCD` 字样的排针上。
3. 在图示位置插入可用的 Nano SIM 卡。
-4. 将天线连接至标识有`LTE`字样的天线连接座上。
+4. 将天线连接至标识有 `LTE` 字样的天线连接座上。
5. 使用 Type-C 数据线连接开发板和电脑。
## 设备开发
### 开机
-完成硬件连接的工作后,长按开发板上标识为`PWK`的按键,直到网络灯闪烁,或电脑设备管理器的端口列表中出现包含`Quectel USB` 字样的 COM 口,表示开机成功。
+完成硬件连接的工作后,长按开发板上标识为`PWK`的按键,直到网络灯闪烁,或电脑设备管理器的端口列表中出现包含 `Quectel USB` 字样的 COM 口,表示开机成功。
-
+
### 烧录固件包
-参考[此章节](https://python.quectel.com/doc/Application_guide/zh/dev-tools/QPYcom/qpycom-dw.html#%E4%B8%8B%E8%BD%BD%E5%9B%BA%E4%BB%B6),烧录固件包 [EC600MCNLER06A01M08_XBND_OCPU_QPY_BETA0802.zip](https://github.com/QuecPython/solution-POC/releases/download/v.1.0.0/EC600MCNLER06A01M08_XBND_OCPU_QPY_BETA0802.zip) 至开发板。
+参考[此章节](https://python.quectel.com/doc/Application_guide/zh/dev-tools/QPYcom/qpycom-dw.html#%E4%B8%8B%E8%BD%BD%E5%9B%BA%E4%BB%B6),烧录固件包 [EC600MCNLER06A01M08_POC_XBND_OCPU_QPY_BETA0117.zip](https://github.com/QuecPython/solution-POC/releases/download/v.1.0.0/EC600MCNLER06A01M08_XBND_OCPU_QPY_BETA0802.zip) 至开发板。
### 脚本导入与运行
-1. 参考[此章节](https://python.quectel.com/doc/Getting_started/zh/first_python.html#PC%E4%B8%8E%E6%A8%A1%E7%BB%84%E9%97%B4%E7%9A%84%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93),将源码目录下 `code`文件夹中的所有文件导入到模组文件系统,如下图所示:
+1. 参考[此章节](https://python.quectel.com/doc/Getting_started/zh/first_python.html#PC%E4%B8%8E%E6%A8%A1%E7%BB%84%E9%97%B4%E7%9A%84%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93),将源码目录下 `code` 文件夹中的所有文件导入到模组文件系统,如下图所示:
-2. 参考[此章节](https://python.quectel.com/doc/Getting_started/zh/first_python.html#%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6),执行主程序文件`poc_main.py`。
+2. 参考[此章节](https://python.quectel.com/doc/Getting_started/zh/first_python.html#%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6),执行主程序文件 `poc_main.py`。
3. 参考[此章节](https://python.quectel.com/doc/Getting_started/zh/first_python.html#%E5%81%9C%E6%AD%A2%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C),停止程序运行。
## 业务调试
@@ -69,21 +73,33 @@
执行 `poc_main.py` 脚本后,程序开始运行,进入到 `WelcomeScreen` 界面,同时获取 SIM 卡状态和当前账号,并通过 TTS 语音播报当前登录用户及其加入的群组信息。
-
+
> 🚩 **Warning**
> 未插入 SIM 卡时不会进入到主界面,插入 SIM 卡并重启设备后即可正常运行。
->
+>
### 主界面
-主界面包含多个选项列表(用户可参考 [软件设计讲解 - 界面模块](./software_design.html#界面模块) 自行添加、修改),每个选项对应一个新的界面。
+主界面包含多个选项列表(用户可参考 [软件设计讲解 - 界面模块](./software_design.html#界面模块) 自行添加、修改),每个选项对应一个新的界面。
- 单击 `key2` 键,选中框往下滚动。
- 双击 `key2` 键,进入所选中的界面。
- 长按 `key2` 键,返回上一级界面。
-
+
+
+### 群组列表
+
+进入群组管理界面可以查询到当前账号所加入的群组列表,并且消息提示框会提示当前所在哪个群组,如下图:
+
+
+
+### 成员列表
+
+进入成员列表界面可以查询到当前所在群组的所有成员,如下图:
+
+
### 对讲
@@ -93,9 +109,8 @@
- 对方讲话时,菜单栏显示 `听筒` 图标。
**主动呼叫图示:**
-
-
+
**对方呼叫图示:**
-
+
diff --git a/docs/Application_guide/zh/solutions/poc/software_design.md b/docs/Application_guide/zh/solutions/poc/software_design.md
index 8956cf90947e59eca0e7afbc677221f67728c65a..bca3d80c26de65ed64c8953b41dab8bce2031ecb 100644
--- a/docs/Application_guide/zh/solutions/poc/software_design.md
+++ b/docs/Application_guide/zh/solutions/poc/software_design.md
@@ -127,10 +127,11 @@ class AbstractLoad(object):
`services.py` 定义了多个 `service`,用于提供各种服务。这些 `servies` 继承 `AbstractLoad` 抽象加载基类,便于在加载过程中提供各类服务事项。
-1. `DevInfoService`:提供设备信息服务
-2. `MediaService`:提供音频服务
-3. `NetService`:提供网络服务
-4. `PocService`:提供 Poc 对讲服务
+1. `BatteryManger`:提供电池电量管理
+2. `DevInfoService`:提供设备信息服务
+3. `MediaService`:提供音频服务
+4. `NetService`:提供网络服务
+5. `PocService`:提供 Poc 对讲服务
各 `service` 之间的关系如下图:
@@ -188,6 +189,7 @@ class Screen(AbstractLoad):
if cur_idx < 0:
cur_idx = count - 1
return cur_idx
+
def next_idx(self, now_idx, count):
cur_idx = now_idx + 1
if cur_idx > count - 1:
@@ -198,9 +200,9 @@ class Screen(AbstractLoad):
在 `ui.py` 中,还定义了多个 UI 界面,如:
1. `PocUI`:主 UI,提供 `MenuBar`、`PromptBox` 和 `Screen` 的管理以及按键事件的响应处理
-2. `MenuBar`:菜单栏
-3. `PromptBox`:提示框
-4. `Screen`:UI 屏幕,也可以理解为 UI 界面,用于展示给用户看的各种界面。如 `MenuBar`、`WelcomeScreen` 和 `MemberScreen` 等
+2. `MenuBar`:菜单栏(用于显示网络状态、时间、电量以及其他图标,一直显示在屏幕上方,大小为 240×20)
+3. `PromptBox`:消息提示框(用于消息提示,显示在当前 UI 界面之上)
+4. `Screen`:UI 屏幕,也可以理解为 UI 界面,用于展示给用户看的各种界面。如 `GroupScreen`、`WelcomeScreen` 和 `MemberScreen` 等
各 UI 界面之间的关系如下图:
@@ -208,6 +210,21 @@ class Screen(AbstractLoad):
> 如用户需添加 `Screen`,可参考已有 `Screen` 样式进行添加,并添加到 `poc_main.py` 中对应的位置即可。
+### 群组管理
+
+在 `ui.py` 的 `GroupScreen` 里面实现了群组管理的功能,在页面加载之前通过 `EventMap` 事件管理,向 `Services` 发送对应事件,获取当前账号所加入的所有群组,并通过列表将其显示出来。
+
+```python
+class GroupScreen(Screen):
+ def load_before(self):
+ EventMap.bind("update_group_info", self.__update_group_info) # 更新获取群组信息
+
+ def load(self):
+ self.__load_group_list() # 判断是否获取到组群列表
+ self.__group_screen_list_create() # 创建群组界面列表
+ self.__load_group_cur()
+```
+
### APP管理
`poc_main.py` 中使用一个 `APP` 类进行管理,用户添加或修改如按键、消息框和服务等操作,调用相应的函数添加即可。
diff --git a/docs/FAQ/en/hardware/bsp.md b/docs/FAQ/en/hardware/bsp.md
index 17be91c99a22894861850a391166be31a29d5e8a..e60cba856bcd107d9473d24b3d7d8ad2ecfc8f11 100644
--- a/docs/FAQ/en/hardware/bsp.md
+++ b/docs/FAQ/en/hardware/bsp.md
@@ -18,15 +18,15 @@ GPIO output current capability: 4mA
For specific pins that can be used as GPIO, please refer to the Section machine.Pin on the wiki.
-> Specific link: [GPIO pin description]([class Pin - Control I/O pins - QuecPython (quectel.com)](https://python.quectel.com/doc/API_reference/zh/peripherals/machine.Pin.html))
+> Specific link: [GPIO pin description](https://python.quectel.com/doc/API_reference/en/peripherals/machine.Pin.html)
### **Which pins can be used as external interrupts?**
The external interrupt number will go along with the number of GPIO pins. For details, please refer to machine.Pin and machine.Extlnt on the GPIO pin wiki.
-> Specific link: [GPIO pin description]([class Pin - Control I/O pins - QuecPython (quectel.com)](https://python.quectel.com/doc/API_reference/zh/peripherals/machine.Pin.html));
+> Specific link: [GPIO pin description](https://python.quectel.com/doc/API_reference/en/peripherals/machine.Pin.html);
>
-> [Extlnt-External Interrupt Description]([class ExtInt - External Interrupt - QuecPython (quectel.com)](https://python.quectel.com/doc/API_reference/zh/peripherals/machine.ExtInt.html))
+> [Extlnt-External Interrupt Description](https://python.quectel.com/doc/API_reference/en/peripherals/machine.ExtInt.html)
### **Which pins can be used as wake-up interrupts?**
diff --git a/docs/FAQ/en/hardware/external.md b/docs/FAQ/en/hardware/external.md
index bad98659d2674a75f7ed8abf4fccf17c1a0903bc..b658a7eb0c78646e8fd9190b221b874e9571ed89 100644
--- a/docs/FAQ/en/hardware/external.md
+++ b/docs/FAQ/en/hardware/external.md
@@ -18,7 +18,6 @@ Some supported models are shown in the table below. For more models, please cont
| G Sensor | I2C | ADXL346/LIS2DH12TR/SCA7A20/BMA25x |
| NFC | SPI/UART | PL51NF001/RC522/PN532 |
| Wi-Fi | UART | ESP8266 |
-| BT/BLE | UART | ASR5801 |
| Meter chip | UART | BL0939/HLW8110 |
| Ethernet Chip | SPI | W5500/DM9051/CH395 |
| Ethernet Phy Chip | SPI | YT8512/SZ18201/JL1101 |
diff --git a/docs/FAQ/zh/hardware/external.md b/docs/FAQ/zh/hardware/external.md
index cc63e571d5285ab21b59c1dec3a2ab3dc352709b..04e5ef64e24a7ae4feca8441583e05d4259129d9 100644
--- a/docs/FAQ/zh/hardware/external.md
+++ b/docs/FAQ/zh/hardware/external.md
@@ -18,7 +18,6 @@
| G Sensor | I2C | ADXL346/LIS2DH12TR/SCA7A20/BMA25x |
| NFC | SPI/UART | PL51NF001/RC522/PN532 |
| Wi-Fi | UART | ESP8266 |
-| BT/BLE | UART | ASR5801 |
| Meter chip | UART | BL0939/HLW8110 |
| Ethernet Chip | SPI | W5500/DM9051/CH395 |
| Ethernet Phy Chip | SPI | YT8512/SZ18201/JL1101 |
diff --git a/docs/Getting_started/en/README.md b/docs/Getting_started/en/README.md
index 3aa2f6261e6d43be3002d2a9d43a6e8c11275f83..e5e650d42e1935a3e78223d32dcf2c452ca7be86 100644
--- a/docs/Getting_started/en/README.md
+++ b/docs/Getting_started/en/README.md
@@ -14,5 +14,5 @@ Quectel provides step-by-step user guides, operation instructions, and instructi
| Region | Cat 1 | Cat 4 | Cat M | NB | WIFI |
| ------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | --------------------------------------------------------- |
-| China | [EG810M-CN](https://python.quectel.com/modules-cat/eg810m-series)
[EC800E-CN](https://python.quectel.com/modules-cat/ec800e-series)
[EC600E-CN](https://python.quectel.com/modules-cat/ec600e-series)
[EC600G-CN](https://python.quectel.com/modules-cat/ec600g-series)
[EC800G-CN](https://python.quectel.com/modules-cat/ec800g-series)
[EC200N-CN](https://python.quectel.com/modules-cat/ec200n-series)
[EC800M-CN](https://python.quectel.com/modules-cat/ec800m-series)
[EC600M-CN](https://python.quectel.com/modules-cat/ec600m-series)
[EC200U-CN](https://python.quectel.com/modules-cat/ec200u-series)
[EC600U-CN](https://python.quectel.com/modules-cat/ec600u-series)
[EC600N-CN](https://python.quectel.com/modules-cat/ec600n-series) | [EC200A-CN](https://python.quectel.com/modules-cat/ec200a-series)
| / | [BC25](https://python.quectel.com/modules-cat/bc25-series) | [FCM360W](https://python.quectel.com/modules-cat/fcm360w-series) |
-| Overseas | [EG915U-EU](https://python.quectel.com/en/modules-cat/eg915u-series)
[EG915N-EU](https://python.quectel.com/en/modules-cat/eg915n-series)
[EG912U-GL](https://python.quectel.com/en/modules-cat/eg912u-series)
[EG912N-EN](https://python.quectel.com/en/modules-cat/eg912n-series)
[EC200U-EU](https://python.quectel.com/en/modules-cat/ec200u-series) | [EC200A-EU](https://python.quectel.com/en/modules-cat/ec200a-series)
[EC200A-AU](https://python.quectel.com/en/modules-cat/ec200a-series) | [BG95-M1](https://python.quectel.com/en/modules-cat/bg95-series)
[BG95-M3
](https://python.quectel.com/en/modules-cat/bg95-series)[BG95-M8](https://python.quectel.com/en/modules-cat/bg95-series) | / | [FCM360W](https://python.quectel.com/en/modules-cat/fcm360w-series) |
\ No newline at end of file
+| China | [EG810M](https://python.quectel.com/modules-cat/eg810m-series)
[EC800K](https://python.quectel.com/modules-cat/ec800k-series)
[EG800K](https://python.quectel.com/modules-cat/eg800k-series)
[EG810M](https://python.quectel.com/modules-cat/eg810m-series)
[BG600L](https://python.quectel.com/modules-cat/bg600l-series)
[EC800E](https://python.quectel.com/modules-cat/ec800e-series)
[EC800Z](https://python.quectel.com/modules-cat/ec800z-series)
[EC600E](https://python.quectel.com/modules-cat/ec600e-series)
[EC600G](https://python.quectel.com/modules-cat/ec600g-series)
[EC800G](https://python.quectel.com/modules-cat/ec800g-series)
[EC200N](https://python.quectel.com/modules-cat/ec200n-series)
[EC800M](https://python.quectel.com/modules-cat/ec800m-series)
[EC600M](https://python.quectel.com/modules-cat/ec600m-series)
[EC200U](https://python.quectel.com/modules-cat/ec200u-series)
[EC600U](https://python.quectel.com/modules-cat/ec600u-series)
[EC600N](https://python.quectel.com/modules-cat/ec600n-series) | [EC200A](https://python.quectel.com/modules-cat/ec200a-series)
| [BG95](https://python.quectel.com/en/modules-cat/bg95-series) | [BC25](https://python.quectel.com/modules-cat/bc25-series) | [FCM360W](https://python.quectel.com/modules-cat/fcm360w-series) |
+| Overseas | [EG915U](https://python.quectel.com/en/modules-cat/eg915u-series)
[EG915N](https://python.quectel.com/en/modules-cat/eg915n-series)
[EG912U](https://python.quectel.com/en/modules-cat/eg912u-series)
[EG912N](https://python.quectel.com/en/modules-cat/eg912n-series)
[EC200U](https://python.quectel.com/en/modules-cat/ec200u-series) | [EC200A](https://python.quectel.com/en/modules-cat/ec200a-series)
[UC200A](https://python.quectel.com/en/modules-cat/uc200a-series) | [BG95](https://python.quectel.com/en/modules-cat/bg95-series) | [BC92](https://python.quectel.com/en/modules-cat/bc92-series) | [FCM360W](https://python.quectel.com/en/modules-cat/fcm360w-series) |
\ No newline at end of file
diff --git a/docs/Getting_started/en/driver_prepare.md b/docs/Getting_started/en/driver_prepare.md
index ba0b51d81e2e02f735a8c31a41f67de3d57b3cbd..97ace0e0bf54e4ba90461b2c8286867db71a1ab7 100644
--- a/docs/Getting_started/en/driver_prepare.md
+++ b/docs/Getting_started/en/driver_prepare.md
@@ -18,9 +18,10 @@ The "device driver" is a special program that allows the PC to communicate with
| Module Model | Host Platform | Driver Name |
| ------------------------------------------------------------ | ----------------------------------------------------- | ------------------------------------------------------------ |
-| [BG95-M3](https://python.quectel.com/en/modules-cat/bg95-series) [BG95-M8](https://python.quectel.com/en/modules-cat/bg95-series) | Win10 | [**QuecPython_USB_Driver_Win10_BG**](https://python.quectel.com/en/wp-content/uploads/sites/2/2024/11/Quectel_Windows_USB_DriverQ_NDIS_V2.7.14.zip) |
-| [EC800M-CN](https://python.quectel.com/en/modules-cat/ec800m-series) [EC600M-CN](https://python.quectel.com/en/modules-cat/ec600m-series) [EC200A-CN](https://python.quectel.com/en/modules-cat/ec200a-series) | Win10 | [**QuecPython_USB_Driver_Win10_ASR**](https://python.quectel.com/en/wp-content/uploads/sites/2/2024/11/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip) |
-| [EG912U-GL](https://python.quectel.com/en/modules-cat/eg912u-series) [EG915U-EU](https://python.quectel.com/en/modules-cat/eg915u-series) | Win10 | [**QuecPython_USB_Driver_Win10_U_G**](https://python.quectel.com/en/wp-content/uploads/sites/2/2024/11/Quectel_Windows_USB_DriverU_V1.0.19.zip) |
+| [BG95](https://python.quectel.com/modules-cat/bg95-series) [BG600L](https://python.quectel.com/modules-cat/bg600l-series) | Win10 | [**QuecPython_USB_Driver_Win10_BG**](https://python.quectel.com/en/wp-content/uploads/sites/2/2024/11/Quectel_Windows_USB_DriverQ_NDIS_V2.7.14.zip) |
+| [EC800E](https://python.quectel.com/modules-cat/ec800e-series) [EC600E](https://python.quectel.com/modules-cat/ec600e-series) [EC800Z](https://python.quectel.com/modules-cat/ec800z-series) | Win10 | [**QuecPython_USB_Driver_Win10_E**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverY_V1.0.2.zip) |
+| [EG912N](https://python.quectel.com/en/modules-cat/eg912n-series) [EG915N](https://python.quectel.com/en/modules-cat/eg915n-series) [UC200A](https://python.quectel.com/modules-cat/uc200a-series)
[EC600K](https://python.quectel.com/modules-cat/ec600k-series) [EG810M](https://python.quectel.com/modules-cat/eg810m-series) [EC800K](https://python.quectel.com/modules-cat/ec800k-series) [EG800K](https://python.quectel.com/modules-cat/eg800k-series)
[EC200N](https://python.quectel.com/modules-cat/ec200n-series) [EC800M](https://python.quectel.com/modules-cat/ec800m-series) [EC600N](https://python.quectel.com/modules-cat/ec600n-series) [EC600M](https://python.quectel.com/modules-cat/ec600m-series) [EC200A](https://python.quectel.com/modules-cat/ec200a-series) | Win10 | [**QuecPython_USB_Driver_Win10_ASR**](https://python.quectel.com/en/wp-content/uploads/sites/2/2024/11/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip) |
+| [EG915U](https://python.quectel.com/en/modules-cat/eg915u-series) [EC200U](https://python.quectel.com/modules-cat/ec200u-series) [EC800G](https://python.quectel.com/modules-cat/ec800g-series)
[EC600U](https://python.quectel.com/modules-cat/ec600u-series) [EC600G](https://python.quectel.com/modules-cat/ec600g-series) [EC800G](https://python.quectel.com/modules-cat/ec800g-series) | Win10 | [**QuecPython_USB_Driver_Win10_U_G**](https://python.quectel.com/en/wp-content/uploads/sites/2/2024/11/Quectel_Windows_USB_DriverU_V1.0.19.zip) |
| [FCM360W](https://python.quectel.com/en/modules-cat/fcm360w-series) | Win10 | [**CH343SER**](https://python.quectel.com/en/wp-content/uploads/sites/2/2024/11/CH343SER_V1.8.zip) |
- **Step 2: Install the Driver**
diff --git a/docs/Getting_started/zh/README.md b/docs/Getting_started/zh/README.md
index 2ddb8ca3d6587c3b26ea411c1266868b93b9861a..d487f670326f5b4bd28d923973ed6ebe73a29ba3 100644
--- a/docs/Getting_started/zh/README.md
+++ b/docs/Getting_started/zh/README.md
@@ -14,5 +14,5 @@ QuecPython模组具有以下优势
| 区域 | Cat 1 | Cat 4 | Cat M | NB | WIFI |
| ------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | --------------------------------------------------------- |
-| 国内 | [EG810M-CN](https://python.quectel.com/modules-cat/eg810m-series)
[EC800E-CN](https://python.quectel.com/modules-cat/ec800e-series)
[EC600E-CN](https://python.quectel.com/modules-cat/ec600e-series)
[EC600G-CN](https://python.quectel.com/modules-cat/ec600g-series)
[EC800G-CN](https://python.quectel.com/modules-cat/ec800g-series)
[EC200N-CN](https://python.quectel.com/modules-cat/ec200n-series)
[EC800M-CN](https://python.quectel.com/modules-cat/ec800m-series)
[EC600M-CN](https://python.quectel.com/modules-cat/ec600m-series)
[EC200U-CN](https://python.quectel.com/modules-cat/ec200u-series)
[EC600U-CN](https://python.quectel.com/modules-cat/ec600u-series)
[EC600N-CN](https://python.quectel.com/modules-cat/ec600n-series) | [EC200A-CN](https://python.quectel.com/modules-cat/ec200a-series)
| / | [BC25](https://python.quectel.com/modules-cat/bc25-series) | [FCM360W](https://python.quectel.com/modules-cat/fcm360w-series) |
-| 海外 | [EG915U-EU](https://python.quectel.com/en/modules-cat/eg915u-series)
[EG915N-EU](https://python.quectel.com/en/modules-cat/eg915n-series)
[EG912U-GL](https://python.quectel.com/en/modules-cat/eg912u-series)
[EG912N-EN](https://python.quectel.com/en/modules-cat/eg912n-series)
[EC200U-EU](https://python.quectel.com/en/modules-cat/ec200u-series) | [EC200A-EU](https://python.quectel.com/en/modules-cat/ec200a-series)
[EC200A-AU](https://python.quectel.com/en/modules-cat/ec200a-series) | [BG95-M1](https://python.quectel.com/en/modules-cat/bg95-series)
[BG95-M3
](https://python.quectel.com/en/modules-cat/bg95-series)[BG95-M8](https://python.quectel.com/en/modules-cat/bg95-series) | / | [FCM360W](https://python.quectel.com/en/modules-cat/fcm360w-series) |
\ No newline at end of file
+| 国内 | [EG810M](https://python.quectel.com/modules-cat/eg810m-series)
[EC800K](https://python.quectel.com/modules-cat/ec800k-series)
[EG800K](https://python.quectel.com/modules-cat/eg800k-series)
[EG810M](https://python.quectel.com/modules-cat/eg810m-series)
[BG600L](https://python.quectel.com/modules-cat/bg600l-series)
[EC800E](https://python.quectel.com/modules-cat/ec800e-series)
[EC800Z](https://python.quectel.com/modules-cat/ec800z-series)
[EC600E](https://python.quectel.com/modules-cat/ec600e-series)
[EC600G](https://python.quectel.com/modules-cat/ec600g-series)
[EC800G](https://python.quectel.com/modules-cat/ec800g-series)
[EC200N](https://python.quectel.com/modules-cat/ec200n-series)
[EC800M](https://python.quectel.com/modules-cat/ec800m-series)
[EC600M](https://python.quectel.com/modules-cat/ec600m-series)
[EC200U](https://python.quectel.com/modules-cat/ec200u-series)
[EC600U](https://python.quectel.com/modules-cat/ec600u-series)
[EC600N](https://python.quectel.com/modules-cat/ec600n-series) | [EC200A](https://python.quectel.com/modules-cat/ec200a-series)
| [BG95](https://python.quectel.com/en/modules-cat/bg95-series) | [BC25](https://python.quectel.com/modules-cat/bc25-series) | [FCM360W](https://python.quectel.com/modules-cat/fcm360w-series) |
+| 海外 | [EG915U](https://python.quectel.com/en/modules-cat/eg915u-series)
[EG915N](https://python.quectel.com/en/modules-cat/eg915n-series)
[EG912U](https://python.quectel.com/en/modules-cat/eg912u-series)
[EG912N](https://python.quectel.com/en/modules-cat/eg912n-series)
[EC200U](https://python.quectel.com/en/modules-cat/ec200u-series) | [EC200A](https://python.quectel.com/en/modules-cat/ec200a-series)
[UC200A](https://python.quectel.com/en/modules-cat/uc200a-series) | [BG95](https://python.quectel.com/en/modules-cat/bg95-series) | [BC92](https://python.quectel.com/en/modules-cat/bc92-series) | [FCM360W](https://python.quectel.com/en/modules-cat/fcm360w-series) |
\ No newline at end of file
diff --git a/docs/Getting_started/zh/driver_prepare.md b/docs/Getting_started/zh/driver_prepare.md
index c2f49c1d638bc4a5c674af079e18ebed409338b3..1cdb469fe15689f43015c0226f572affa0330320 100644
--- a/docs/Getting_started/zh/driver_prepare.md
+++ b/docs/Getting_started/zh/driver_prepare.md
@@ -16,10 +16,10 @@
| 模组型号 | 操作系统 | 驱动名称 |
| ------------------------------------------------------------ | ----------------------------------------------------- | ------------------------------------------------------------ |
-| [BG95-M3](https://python.quectel.com/modules-cat/bg95-series) [BG95-M8](https://python.quectel.com/modules-cat/bg95-series) | Win10 | [**QuecPython_USB_Driver_Win10_BG**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverQ_NDIS_V2.7.14.zip) |
-| [EC800E-CN](https://python.quectel.com/modules-cat/ec800e-series) [EC600E-CN](https://python.quectel.com/modules-cat/ec600e-series) | Win10 | [**QuecPython_USB_Driver_Win10_E**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverY_V1.0.2.zip) |
-| [EC200N-CN](https://python.quectel.com/modules-cat/ec200n-series) [EC800M-CN](https://python.quectel.com/modules-cat/ec800m-series) [EC600N-CN](https://python.quectel.com/modules-cat/ec600n-series) [EC600M-CN](https://python.quectel.com/modules-cat/ec600m-series) [EC200A-CN](https://python.quectel.com/modules-cat/ec200a-series) | Win10 | [**QuecPython_USB_Driver_Win10_ASR**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip) |
-| [EC600U-CN](https://python.quectel.com/modules-cat/ec600u-series) [EC600G-CN](https://python.quectel.com/modules-cat/ec600g-series) [EC800G-CN](https://python.quectel.com/modules-cat/ec800g-series) | Win10 | [**QuecPython_USB_Driver_Win10_U_G**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverU_V1.0.19.zip) |
+| [BG95](https://python.quectel.com/modules-cat/bg95-series) [BG600L](https://python.quectel.com/modules-cat/bg600l-series) | Win10 | [**QuecPython_USB_Driver_Win10_BG**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverQ_NDIS_V2.7.14.zip) |
+| [EC800E](https://python.quectel.com/modules-cat/ec800e-series) [EC600E](https://python.quectel.com/modules-cat/ec600e-series) [EC800Z](https://python.quectel.com/modules-cat/ec800z-series) | Win10 | [**QuecPython_USB_Driver_Win10_E**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverY_V1.0.2.zip) |
+| [EG912N](https://python.quectel.com/en/modules-cat/eg912n-series) [EG915N](https://python.quectel.com/en/modules-cat/eg915n-series) [UC200A](https://python.quectel.com/modules-cat/uc200a-series)
[EC600K](https://python.quectel.com/modules-cat/ec600k-series) [EG810M](https://python.quectel.com/modules-cat/eg810m-series) [EC800K](https://python.quectel.com/modules-cat/ec800k-series) [EG800K](https://python.quectel.com/modules-cat/eg800k-series)
[EC200N](https://python.quectel.com/modules-cat/ec200n-series) [EC800M](https://python.quectel.com/modules-cat/ec800m-series) [EC600N](https://python.quectel.com/modules-cat/ec600n-series) [EC600M](https://python.quectel.com/modules-cat/ec600m-series) [EC200A](https://python.quectel.com/modules-cat/ec200a-series) | Win10 | [**QuecPython_USB_Driver_Win10_ASR**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip) |
+| [EG915U](https://python.quectel.com/en/modules-cat/eg915u-series) [EC200U](https://python.quectel.com/modules-cat/ec200u-series) [EC800G](https://python.quectel.com/modules-cat/ec800g-series)
[EC600U](https://python.quectel.com/modules-cat/ec600u-series) [EC600G](https://python.quectel.com/modules-cat/ec600g-series) [EC800G](https://python.quectel.com/modules-cat/ec800g-series) | Win10 | [**QuecPython_USB_Driver_Win10_U_G**](https://python.quectel.com/wp-content/uploads/2024/09/Quectel_Windows_USB_DriverU_V1.0.19.zip) |
| [FCM360W](https://python.quectel.com/modules-cat/fcm360w-series) | Win10 | [**CH343SER**](https://python.quectel.com/wp-content/uploads/2024/09/CH343SER_V1.8.zip) |
- **Step2:驱动安装**
diff --git a/docs/Getting_started/zh/evb/ec800x-duino-evb.md b/docs/Getting_started/zh/evb/ec800x-duino-evb.md
new file mode 100644
index 0000000000000000000000000000000000000000..97b235bea2acc1631da81ad4c0644cb3717635d0
--- /dev/null
+++ b/docs/Getting_started/zh/evb/ec800x-duino-evb.md
@@ -0,0 +1,110 @@
+# EC800X QuecDuino开发板介绍
+
+## 支持的模组列表
+
+- [EG800K](https://python.quectel.com/modules-cat/eg800k-series)
+- [EC800M](https://python.quectel.com/modules-cat/ec800m-series)
+- [EC800G](https://python.quectel.com/modules-cat/ec800g-series)
+- [EC800E](https://python.quectel.com/modules-cat/ec800e-series)
+
+## 功能列表
+
+### 基本概述
+
+EC800X QuecDuino EVB 搭载移远 EC800 系列模组。支持模组型号为:
+EC800M 系列、EC800K 系列、EG800K 系列、EC800E 系列等。
+
+### 渲染图
+
+开发板的主要组件、接口布局见下图
+
+
+
+## 资料下载
+
+- [EC800X-QuecDuino-EVB-规格书](https://python.quectel.com/wp-content/uploads/2025/02/EC800X-QuecDuino-EVB-规格书V1.1.pdf)
+
+## 开发板资源
+
+### 开发板接口
+
+**接口定义**
+
+| 排针 | 引脚 | 描述 | 功能 |
+| ---- | ---- | ---- | --------------------- |
+| BOOT | - | 模组 USB_BOOT 引脚 | 根据不同型号模组进行上下拉进入强制下载模式 |
+| NC | - | 悬空 | - |
+| RST | - | 模组 RESET 引脚 | 拉低复位 |
+| 3.3V | - | 电源输出 | 3.3V/200mA |
+| 5V | - | 电源输入/输出 | 5V/2A (V1.1 版本悬空不可用) |
+| GND | - | 地 | - |
+| GND | - | 地 | - |
+| 5V | - | 电源输入/输出 | 5V/2A (V1.1 版本悬空不可用) |
+| A0 | - | 模组 ADC0 输入引脚 | 0-1.2V |
+| A1 | - | 模组 ADC1 输入引脚 | 0-1.2V |
+| D0 | 19 | I/O | 3.3V |
+| D1 | 20 | I/O | 3.3V |
+| D2 | 21 | I/O | 3.3V |
+| D3 | 25 | I/O | 3.3V |
+| 0 | - | 主串口接收 | 3.3V |
+| 1 | - | 主串口发送 | 3.3V |
+| 2 | - | 辅助串口接收 | 3.3V |
+| 3 | - | 辅助串口接收 | 3.3V |
+| 4 | 23 | I/O | 3.3V |
+| 5 | 22 | I/O | 3.3V |
+| 6 | 28 | I/O | 3.3V |
+| 7 | 29 | I/O | 3.3V |
+| 8 | 58 | I/O | 3.3V |
+| 9 | 80 | I/O | 3.3V |
+| 10 | 31 | I/O | 3.3V |
+| 11 | 32 | I/O | 3.3V |
+| 12 | 33 | I/O | 3.3V |
+| 13 | 30 | I/O | 3.3V |
+| 14 | - |地 | - |
+| 15 | - |NC | 悬空 |
+| 16 | 66 | I/O | 3.3V |
+| 17 | 67 | I/O | 3.3V |
+
+
+开发板主要管脚布局见下图
+
+
+
+> **小提示**
+> 开发板的更多资料,请访问
+
+### 开发板配置
+
+开发板配备了多种传感器,以及其他外设。外设资源管脚分配表明细如下:
+
+| 序号 | 名称 | 型号 | 是否支持 | 接口类型 | 引脚 |
+| ---- | ---------------------------- | ------------- | -------- | -------- | ----- |
+| 1 | USB接口 | - | 是 | Type-C | - |
+| 2 | LED灯 | - | 是 | GPIO | - |
+| 3 | 麦克风 | B4013AM423-092 | 是 | SPK | - |
+
+
+`具体外设资源使用指导参考规格书`
+
+## 上手准备
+
+* 注意事项
+
+EVB 的供电电压为 5V,可通过 TypeC 或者 DC 座输入电源,也可以通过排母 5V 引脚输入 5V(V1.1 版本悬空不可用)。为了确保开发板任何情况下工作正常,请确保输入电流至少 2A。请勿同时接 TypeC 或者 DC 座和引脚 5V,防止电流灌入 USB,导致 USB 设备损坏
+
+首先需要有一台运行有 Windows 10 以上 操作系统的电脑
+
+- **Step1:天线安装**
+
+安装开发板配套的天线,安装位置为LTE天线座位置,并将SIM卡插入开发板上的SIM卡座,如需使用GNSS功能,则需在对应的天线座安装天线
+
+- **Step2:开发板连接**
+
+使用USB Type-C数据线连接开发板的Type-C接口和电脑USB口即可完成供电, 上电前需要跳帽短接 VUBS EN、VDD_EXT EN、VBAT EN 排针
+
+- **Step3:开发板开机**
+
+按住S1直至主板上电源指示灯亮(主板上丝印为D1的灯),如果上一步短接PWK_ON则无需长按PWK自动开机
+
+
+`关于开发板灯光和电源详细设置参见规格书`
diff --git a/docs/Getting_started/zh/media/evb/ec800x-duino-evb/layout.jpg b/docs/Getting_started/zh/media/evb/ec800x-duino-evb/layout.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f075f7eab1dabc8e6d389b89c079e9cb390f81bb
Binary files /dev/null and b/docs/Getting_started/zh/media/evb/ec800x-duino-evb/layout.jpg differ
diff --git a/docs/Getting_started/zh/media/evb/ec800x-duino-evb/pin.jpg b/docs/Getting_started/zh/media/evb/ec800x-duino-evb/pin.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f33d98826c6e57a5e05c4a796d800defbe45d748
Binary files /dev/null and b/docs/Getting_started/zh/media/evb/ec800x-duino-evb/pin.jpg differ
diff --git a/docs/Getting_started/zh/prepare.md b/docs/Getting_started/zh/prepare.md
index 942104324074eecf80318a16b75b24f9007d4046..3578333d8a7304bec53c4f825637a80c763c6d3d 100644
--- a/docs/Getting_started/zh/prepare.md
+++ b/docs/Getting_started/zh/prepare.md
@@ -15,7 +15,7 @@
- [BG95_EVB](evb/bg95-evb.md)
- [FCM360W_EVB](evb/fcm360w-evb.md)
- [EC200X_EVB](evb/ec200x-evb.md)
-- [EG915X_EVB](evb/eg915x-evb.md)
+- [EG91X_EVB](evb/eg91x-evb.md)
软件:
diff --git a/docs/Getting_started/zh/sidebar.yaml b/docs/Getting_started/zh/sidebar.yaml
index 5d44ee0cfff9c9b24945d4b70b00db50b284b726..951f06e282e7126c593b5f6048ceb5cb030b7700 100644
--- a/docs/Getting_started/zh/sidebar.yaml
+++ b/docs/Getting_started/zh/sidebar.yaml
@@ -58,4 +58,6 @@ items:
- label: BG95/EG915U/EG912U 核心板介绍
file: evb/bg-eg-core-evb.md
- label: EC800G 华 DTU 开发板介绍
- file: evb/ec800g_hua_dtu.md
\ No newline at end of file
+ file: evb/ec800g_hua_dtu.md
+ - label: EC800X Duino 开发板介绍
+ file: evb/ec800x-duino-evb.md
\ No newline at end of file