diff --git a/通讯协议-SDK_DLL部分[内部].md b/通讯协议-SDK_DLL部分[内部].md
new file mode 100644
index 0000000..45cb6ab
--- /dev/null
+++ b/通讯协议-SDK_DLL部分[内部].md
@@ -0,0 +1,256 @@
+
+
+
+
+
+SunVote Dll协议接口说明
+
+
+
+
+Ver5.1.1
+
+
+
+
+
+
+
+
+
+长沙中天电子设计开发有限公司
+
+
+
+
+
+二〇二三年十月
+
+
+
+
+
+
+
+文件控制:
+
+文件名:SunVote Dll接口说明
+
+起草人:陈定敏
+
+最新版本作者: 陈定敏
+
+
+| 文档版本 | 日期 | 作者 | 版本说明 |
+|---|---|---|---|
+|5.1.1| 2023年10月09日|陈定敏|1. 初始版|
+
+
+
+[TOC]
+
+# 系统概述
+
+
+
+# 设计目的
+
+
+
+# 通讯接口设计概要
+
+
+
+# 通信方式
+数据交互采取发送<-->应答的方式。应用程序发送数据到WSCmdApp,WSCmdApp收到后执行完成后回复。
+
+应用程序没有数据发送给WSCmdApp时,需要发送心跳,WSCmdApp收到心跳后会回复心跳,用于判断与应用程序的连接状态。(配置文件中,如果启用了心跳检查,应用程序如果未按要求发送心跳,WSCmdApp会断开当前连接,重新尝试连接)
+
+# 编程流程说明
+
+# 基站参数部分
+##键盘关机设置
+
+获取键盘关机时间等级
+函数名称:GetKeyboardAutoPowerOffLevel
+参数说明:
+
+| **参数名称** | **参数说明** | **范围** | **备注** |
+| --- | --- | --- | --- |
+|UCHAR iBaseID|基站ID|0~32||
+
+接口代码:
+```C++
+extern"C" __declspec(dllexport) bool GetKeyboardAutoPowerOffLevel(UCHAR iBaseID);
+```
+
+设置键盘关机时间等级
+函数名称:SetKeyboardAutoPowerOffLevel
+参数说明:
+
+| **参数名称** | **参数说明** | **范围** | **备注** |
+| --- | --- | --- | --- |
+|UCHAR iBaseID|基站ID|0~32||
+|UCHAR Level|关机时间等级|0:30秒
1:2分钟
2:15分钟
3:45分钟
255:不自动关机||
+
+接口代码:
+```C++
+extern"C" __declspec(dllexport) bool SetKeyboardAutoPowerOffLevel(UCHAR iBaseID, UCHAR Level);
+```
+
+
+## 异常处理
+
+### WSCmdApp收到数据异常
+
+WSCmdApp收到异常数据,会不做处理,并返回以下错误信息描述。
+
+接收:
+fun: "error" //功能错误
+baseId: //无该值
+infos:{ "funId":"F0001","code":"10002"}//
+
+
+指令样例:
+```json
+{
+ "fun": "error",
+ "infos": {
+ "funId": "F0001",
+ "code": "10002"
+ },
+ "packetTag": "1"
+}
+```
+
+| **code** | **含义** |
+| --- | --- |
+|10001|不能正确解析的JSON数据|
+|10002|解析JSON错误|
+|20001|基站未连接|
+|20002|功能不支持|
+|20003|基站ID为负数,应用可以不传ID,默认为0|
+|20004|参数错误|
+|30001|找不到对应的SN|
+|40001|升级功能只能支持一个基站在线|
+|50001|此功能必须指定基站ID|
+|60001|此功能必须指定键盘SN|
+
+| **funId** | **含义** |
+| --- | --- |
+|F0001|基站未连接|
+|F0002|读基站信道|
+|F0003|写基站信道|
+|F0004|读取基站baseId 、信道、RF功率等级|
+|F0005|写基站baseId|
+|F0006|读基站名称|
+|F0007|写基站名称|
+|F0008|读键盘关机时间等级|
+|F0009|写键盘关机时间等级|
+|F0010|读基站配对码|
+|F0011|写基站配对码|
+|F0012|读基站序列号|
+|F0013|写基站序列号|
+|F0014|读取基站的型号、硬件版本、软件版本、设备SN号|
+|F0015|写基站硬件版本|
+|F0016|读基站类型|
+|F0017|写基站类型|
+|F0018|读基站键盘容量和Lock|
+|F0019|写基站键盘容量和Lock|
+|F0020|读手动获取返回在线信息|
+|F0021|写手动获取返回在线信息|
+|F0022|读基站设备RF功率|
+|F0023|写基站设备RF功率|
+|F0024|基站设备配对模式或基站名称(自定义)|
+|F0025|预留|
+|F0026|读基站快速配对低功率模式|
+|F0027|写基站快速配对低功率模式|
+|F0028|读键盘登录菜单显示允许[S6适用]|
+|F0029|写键盘登录菜单显示允许[S6适用]|
+|F0030|读键盘登录密码[S6适用]|
+|F0031|写键盘登录密码[S6适用]|
+|F0032|读基站名称隐藏开关|
+|F0033|写基站名称隐藏开关|
+|F0034|读基站和键盘之间的心跳开关|
+|F0035|写基站和键盘之间的心跳开关|
+|F0036|读基站语言|
+|F0037|写基站语言|
+|F0038|读基站CRC|
+|F0039|写基站CRC|
+|F0040|写广播投票标题|
+|F0041|核对投票开启密码|
+|F0042|读基站获取投票开启密码|
+|F0043|写基站获取投票开启密码|
+|F0044|读基站用户自定义字符串|
+|F0045|写基站用户自定义字符串|
+|F0046|读基站UID|
+|F0047|写基站UID|
+|F0048|读键盘反馈模式参数|
+|F0049|写键盘反馈模式参数|
+|F0050|读基站当前是开启升级状态|
+|F0051|写基站当前是开启升级状态|
+|F0052|手动停止键盘升级状态|
+|F0053|写键盘当前是开启升级状态|
+|F0054|写踢出单只键盘|
+|F0055|写清掉所有键盘|
+|F0056|写锁定键盘|
+|F0057|写解锁键盘|
+|F0058|写T2键盘第二行文本【空闲模式】|
+|F0059|读考勤基站时钟设置|
+|F0060|写考勤基站时钟设置|
+|F0061|读考勤键盘每秒发送考勤信号次数|
+|F0062|写考勤键盘每秒发送考勤信号次数|
+|F0063|读考勤键盘发送考勤信号功率|
+|F0064|写考勤键盘发送考勤信号功率|
+|F0065|写修改键盘配对码|
+|F0066|写键盘功能提示预设字符串反馈|
+|F0067|写空闲模式|
+|F0068|单选多选带计时模式|
+|F0069|判断题带计时模式|
+|F0070|抢答题带计时模式|
+|F0071|数字题带计时模式|
+|F0072|绑定带计时模式|
+|F0073|基站快速配对|
+|F0074|读基站特征数据|
+|F0075|遥控关机|
+|F0076|读键盘在线SN|
+|F0077|写基站复位|
+|F0078|写键盘外设指令|
+|F0079|写键盘配对码|
+|F0080|写锁定键盘,解锁键盘|
+|F0081|填空题模式|
+|F0082|读NFC信息 姓名|
+|F0083|写NFC信息 姓名|
+|F0084|写NFC配对码|
+|F0085|NFC清除指令|
+|F0086|多题题型开始|
+|F0087|多题题型暂停|
+|F0088|多题题型继续上一次|
+|F0089|多题题型正确答案下发|
+|F0090|多题题型已答题结果转移|
+|F0091|写白名单|
+|F0092|读白名单|
+|F0093|写基站黑名单|
+|F0094|读基站黑名单|
+|F0095|C100B+S6[旧款]写键盘姓名|
+|F0096|C100B+S6[旧款]读键盘姓名|
+|F0097|键盘暂停休眠操作|
+|F0098|异步测试模式|
+|F0099|Tcp参数读|
+|F0100|Tcp参数写|
+|F0101|自定义题型参数|
+|F0102|写S6短信|
+|F0103|写S6键盘FSN|
+|F0104|自由题模式|
+|F0105|基站AES|
+|F0106|基站AES 克隆|
+|F0107|基础参数配置|
+|F0108|删除指定白名单SN|
+|F0109|追加指定SN 到白名单|
+|F0110|语音题模式|
+|F0111|多题快答模式|
+|F0112|快速配对模式|
+|F0113|键盘测试模式|
+|F0114|写入积分和第二行文本|
+|F0115|写入键盘姓名|
+|F0116|键盘关机时间等级|