diff --git a/Community-document b/Community-document new file mode 160000 index 0000000000000000000000000000000000000000..7837df49faa9cdd5351db9ec746743e6c3b057ef --- /dev/null +++ b/Community-document @@ -0,0 +1 @@ +Subproject commit 7837df49faa9cdd5351db9ec746743e6c3b057ef diff --git a/docs/Advanced_development/zh/QuecPythonSub/Timer.md b/docs/Advanced_development/zh/QuecPythonSub/Timer.md deleted file mode 100644 index 382cb276d37112af4032cf66f5717a9f3ca8e05b..0000000000000000000000000000000000000000 --- a/docs/Advanced_development/zh/QuecPythonSub/Timer.md +++ /dev/null @@ -1,119 +0,0 @@ -# QuecPython Timer定时器开发 - -文档主要基于EC600S介绍如何使用QuecPython\_Timer,定时器最常用的就是定时与计数,即可以作为精准延时处理,也可以在接通一个时钟源的前提下,统计总共有多少脉冲。通过本文你将了解到Timer的所有设置参数及使用方法。 - -## 硬件描述 - -目前开放共4个定时器 - -## 软件设计 - -### 常量说明 - -| 常量 | 说明 | -|----------------|----------------------------| -| Timer.Timer0 | 定时器0 | -| Timer.Timer1 | 定时器1 | -| Timer.Timer2 | 定时器2 | -| Timer.Timer3 | 定时器3 | -| Timer.ONE_SHOT | 单次模式,定时器只执行一次 | -| Timer.PERIODIC | 周期模式,定时器循环执行 | - -### 创建Timer对象 - -timer = Timer(Timern)。创建Timer对象接口参数介绍如下: - -| 参数 | 类型 | 说明 | -|--------|------|------------------------------------------| -| Timern | int | 定时器号。EC600S支持定时器Timer0\~Timer3 | - -### 启动定时器 - -timer.start(period, mode, callback):启动对应的定时器,接口参数介绍如下: - -| 参数 | 类型 | 说明 | -|----------|----------|--------------------------------------------------------------------------------------| -| period | int | 中断周期,单位毫秒 | -| mode | int | 运行模式 Timer.ONE_SHOT 单次模式,定时器只执行一次 Timer.PERIODIC 周期模式,循环执行 | -| callback | function | 定时器执行函数 | - -返回值:启动成功返回整型值0,失败返回整型值-1。 - -### 关闭定时器 - -timer.stop():关闭对应的定时器,无参数。 - -返回值:成功返回整型0,失败返回整型-1 - -## 交互操作 - -使用QPYcom工具和模组进行交互,下面实例是基于Timer0,Timer1。Timer2和Timer3配置类似。 - -
-![](media/d255a2ca8359e29ec11c9302558c8730.png) - -
- -注意: - -1. from machine import Timer即为让Timer模块在当前空间可见。 - -2. 只有from machine import Timer模块,才能使用Timer内的函数和变量。 - -3. 上述操作没有连接任何外设,仅作为熟悉指令参考 - -## 下载验证 - -### 软件代码 - -配套demo的参考代码为文档同目录下的timer_file.py文件。下载.py文件到模组运行,代码如下: - -```python -import log -from machine import Timer -log.basicConfig(level=log.INFO) # 设置日志输出级别 -Timer_Log = log.getLogger("Quectel") # 获取logger对象 -log_print_num = 5 -state = 1 -timer0 = Timer(Timer.Timer1) -# 创建一个执行函数,并将timer实例传入 -def timer_test(t): - global log_print_num - global state - Timer_Log.info('log_print_num is %d' % log_print_num) - log_print_num -= 1 - if log_print_num <= 0: - Timer_Log.info('timer exit') - state = 0 - timer0.stop() # 结束该定时器实例 -timer0.start(period=1000, mode=timer0.PERIODIC, callback=timer_test) # 启动定时器 -while state: - pass - -``` - - - -### 硬件连接: - -本文验证仅对timer,无需外接外设。 - -### 运行效果 - -1. 打开QPYcom运行timer\_file.py,如下图: - -
-![](media/d79a7e4c4f33637063273447996990c0.png) -
- -2. 在QPYcom交互界面查看输出结果如下: - -
-![](media/7b7eed9267576d8033ab0fa72a075efb.png) - -
- -## 配套代码 - - - 下载代码 \ No newline at end of file diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.md b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.md index 11784cff85f78959b38062fa3dc7419b9a390c41..0d42897bf3fb172ea6f3b2944bd8ff759081ed8a 100644 --- a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.md +++ b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.md @@ -692,7 +692,7 @@ A:请登录QuecPython网站下载: A:请登录QuecPython网站下载: -P.S. 如果您遇到任何问题,请参照本官网在线文档进行解决或访问Quecpython社区进行搜索、交流、提问:https://forumschinese.quectel.com/c/function-subjects/quectpython/43 +P.S. 如果您遇到任何问题,请参照本官网在线文档进行解决或访问QuecPython社区进行搜索、交流、提问:[QuecPython社区](https://forumschinese.quectel.com/c/function-subjects/quectpython/43) 或者联系我们的在线支持:QQ群 445121768 @@ -716,4 +716,5 @@ P.S. 如果您遇到任何问题,请参照本官网在线文档进行解决或 - \ No newline at end of file + + diff --git a/docs/Quick_start/zh/code/get_rom_ram.py b/docs/Quick_start/zh/code/get_rom_ram.py new file mode 100644 index 0000000000000000000000000000000000000000..efd17a5c8897acddaf205ad8a3faeb65bd30d74f --- /dev/null +++ b/docs/Quick_start/zh/code/get_rom_ram.py @@ -0,0 +1,13 @@ +import gc +import uos + +res = uos.statvfs("/usr") +res = list(res) +print('获取文件系统状态信息:', res) +print('f_bsize – 文件系统块大小,单位字节:', res[0]) +print('f_bfree – 可用块数:', res[3]) +print('剩下总空间 {} 字节'.format(res[0] * res[3])) +print('剩下总空间 {} MB'.format((res[0] * res[3]) / 1024 / 1024)) + +mem = gc.mem_free() +print('剩余RAM空间:{}KB'.format(mem / 1024)) diff --git a/docs/Advanced_development/zh/QuecPythonSub/code/timer_file.py b/docs/Quick_start/zh/code/timer_file.py similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/code/timer_file.py rename to docs/Quick_start/zh/code/timer_file.py diff --git a/docs/Quick_start/zh/file.md b/docs/Quick_start/zh/file.md index a91d64529586ab7c5aa693c8084d58724e53dbb3..980dc3a377f807f8faea04e52cad7920e8b40a2d 100644 --- a/docs/Quick_start/zh/file.md +++ b/docs/Quick_start/zh/file.md @@ -2,10 +2,11 @@ | 版本 | 日期 | 作者 | 变更表述 | |------|------|------|------| | 1.0 | 2021-3-31 | gary.zhou | 初版 | +| 1.1 | 2021-9-9 | Kayden | 新增示例代码下载链接,修改部分文件命名、文字描述和图片 | ## 文件读写说明 -本文主要介绍QuecPython文件读写的几种方式。 +本文主要介绍QuecPython文件读写的几种方式,适用于所有支持QuecPython开发模组。 ## 文件基本概念 @@ -32,7 +33,7 @@ ## 文件操作函数 -表 **2**: 文件操作函数 +文件操作函数 | 函数 | 说明 | 方法 | | ----- | ------------------------------ | ------------------------------ | @@ -41,27 +42,29 @@ | Write | 将指定内容写入文件 | 需要通过文件对象来调用 | | Close | 关闭文件 | 需要通过文件对象来调用 | - - ## 操作文件及目录 -将 EC600S-CN QuecPython 开发板连接至电脑,接入后的操作方法详见[《Quectel_QuecPython_基础操作说明》](https://python.quectel.com/doc/doc/sbs/zh/index.html)。 +将QuecPython开发板连接至电脑(默认为已进行完所有入门操作),接入后的操作方法详见[《Quectel_QuecPython_基础操作说明》](https://python.quectel.com/doc/doc/sbs/zh/index.html)。 ![QuecPytgon_sbs_file_01.png](media/QuecPytgon_sbs_file_01.png) -图 **1**: **EC600S-CN QuecPython** 开发板与电脑连接 +图 **1**: **QuecPython** 开发板与电脑连接。 ### 以只读方式打开文件 -步骤一 : 创建 *test.py*、*test.txt* 文件, 并 在 *test.py* 文件中导入 QuecPython 中的 *uio* 模块,在 *test.txt* 文件输入 "hello python"。 +步骤一 : 创建 *test_r.py*、*test_r.txt* 文件, 并 在 *test_r.py* 文件中写入以下代码,在 *test_r.txt* 文件输入 "hello python"。 + +点击下载test_r.py代码 -- 在 t*est.py* 文件中导入 QuecPython 中的 *uio* 模块: +点击下载test_r.txt文件 + +- 在 *test_r.py* 文件中导入 **QuecPython** 中的 *uio* 模块并写入代码: ```python import uio -# 以只读方式打开 test.txt 文件 -fd = uio.open("usr/test.txt", mode='r') +# 以只读方式打开 test_r.txt 文件 +fd = uio.open("usr/test_r.txt", mode='r') # 读取文件内容 text = fd.read() print(text) @@ -69,76 +72,97 @@ print(text) fd.close() ``` -- 在 *test.txt* 文件输入 "hello python": +- 在 *test_r.txt* 文件输入 "Hello Python": ![QuecPytgon_sbs_file_02.png](media/QuecPytgon_sbs_file_02.png) -图 **2**: 在 **test.txt** 文件输入 **"hello python"** +图 **2**: 在 **test_r.txt** 文件输入 **"Hello Python"** -步骤 二 : 将 *test.py* 文件和 *test.txt* 文件分别上传到 EC600S-CN QuecPython 开发板内,上传方法详见[《Quectel_QuecPython_基础操作说明》](https://python.quectel.com/doc/doc/sbs/zh/index.html)。 +步骤 二 : 将 *test_r.py* 文件和 *test_r.txt* 文件分别上传到**QuecPython** 开发板内,上传方法详见[《Quectel_QuecPython_基础操作说明》](https://python.quectel.com/doc/doc/sbs/zh/index.html)。 步骤 三 : 读取文件运行结果 ![QuecPytgon_sbs_file_03.png](media/QuecPytgon_sbs_file_03.png) -图 **3**: 读取文件运行结果 +图 **3**: 读取文件数据运行结果 ### 以只写方式打开文件 -步骤一 : 创建 *test.py* 文件及内容为空白的 *test.txt* 文件,在 *test.py* 文件中导入 QuecPython 中的 uio 模 -块,并编写如下代码 : +步骤一 : 创建 *test_w.py* 文件及内容为空白的 *test_w.txt* 文件,在 *test_w.py* 文件中导入 QuecPython 中的 uio 模块,并编写如下代码: + +点击下载test_w.py代码 + +点击下载test_w.txt文件 ```python import uio -# 以只写方式打开 test.txt 文件 -fd = uio.open("usr/test.txt", mode='w') +# 以只写方式打开 test_w.txt 文件 +fd = uio.open("usr/test_w.txt", mode='w') # 向文件写内容 fd.write("HELLO PYTHON") # 关闭文件 fd.close() ``` -步骤 二 : 将 *test.py* 文件和 *test.txt* 文件分别上传到 EC600S-CN QuecPython 开发板内。 +步骤 二 : 参照上一个例子以只读方式打开文件的方法和代码创建一个*test_w_r.py*文件,可得到写入结果,参考代码如下。 -步骤 三 : 参照5.1运行只读文件方式显示文件,可得到写入结果。 +点击下载代码test_w_r.py + +```python +import uio + +# 以只读方式打开 test_w.txt 文件 +fd = uio.open("usr/test_w.txt", mode='r') +# 读取文件内容 +text = fd.read() +print(text) +# 关闭文件 +fd.close() +``` + +步骤 三: 将 *test_w.py* 文件和、*test_w.txt* 文件*test_w_r.py*文件分别上传到 **QuecPython** 开发板内,先运行*test_w.py* 写入数据,再运行test_w_r.py文件读取出写入的数据,运行结果如下。 ![QuecPytgon_sbs_file_04.png](media/QuecPytgon_sbs_file_04.png) -图 **4**: 写入文件运行结果 +图 **4**: 写入文件数据并读取运行结果 ### 以只写追加模式打开文件 -步骤一 : 创建 *text.py*、*text.txt* 文件, 并 在 *test.py* 文件中导入 QuecPython 中的 *uio* 模块,在 *test.txt* 文件输入 "hello python"。 +步骤一 : 创建 *test_a.py*、*test_a.txt* 文件, 并 在 *test_a.py* 文件中导入 QuecPython 中的 *uio* 模块,在 *test_a.txt* 文件输入 "hello python"。 + +点击下载代码test_a.py -- 在 t*est.py* 文件中导入 QuecPython 中的 *uio* 模块: +点击下载test_a.txt文件 + +- 在 *test_a.py*文件中导入 QuecPython 中的 *uio* 模块: ```python import uio -# 以追加方式打开 text.txt 文件 -fd = uio.open("usr/text.txt", mode='a') +# 以追加方式打开 test_a.txt 文件 +fd = uio.open("usr/test_a.txt", mode='a') # 向文件追加写内容 fd.write("Hello Quectel") # 关闭文件 fd.close() # 以只读方式打开看追加的结果 -fd = uio.open("usr/text.txt", mode='r') +fd = uio.open("usr/test_a.txt", mode='r') # 读取文件内容 text = fd.read() print(text) # 关闭文件 fd.close() ``` -- 在 *test.txt* 文件输入 "hello python": +- 在test_a.txt* 文件输入 "hello python": ![QuecPytgon_sbs_file_08.png](media/QuecPytgon_sbs_file_08.png) -图 **5**: 在 **test.txt** 文件输入 **"hello QuecPython"** +图 **5**: 在 **test_a.txt** 文件输入 **"hello python"** -步骤 二 : 将 *text.py* 文件和 *text.txt* 文件分别上传到 EC600S-CN QuecPython 开发板内。 +步骤 二 : 将 *test_a.py* 文件和 *test_a.txt* 文件分别上传到**QuecPython**开发板内。 -步骤 三 : 获取追加结果。 +步骤 三 : 运行代码获取追加结果如下。 ![QuecPytgon_sbs_file_09.png](media/QuecPytgon_sbs_file_09.png) @@ -147,28 +171,34 @@ fd.close() #### 列出当前文件列表 +**注意:**不同模组参数填写格式略有不同,下图示例为EC600U模组,EC600N操作只需要uos.chdir('usr') + ![QuecPytgon_sbs_file_05.png](media/QuecPytgon_sbs_file_05.png) 图 **6**: 列出当前文件列表 #### 新建目录 -![QuecPytgon_sbs_file_05.png](media/QuecPytgon_sbs_file_05.png) +**注意:**不同模组参数填写格式略有不同,下图示例为EC600U模组,EC600N操作只需要uos.mkdir('testdir')。 + +![QuecPytgon_sbs_file_05.png](media/QuecPytgon_sbs_file_06.png) 图 **7**: 新建目录 #### 删除目录 -![QuecPytgon_sbs_file_06.png](media/QuecPytgon_sbs_file_06.png) +![QuecPytgon_sbs_file_06.png](media/QuecPytgon_sbs_file_07.png) -​图 **8**: 删除目录 +图 **8**: 删除目录 -**备注**: apn_cfg.json 为默认脚本文件。 +**备注**: system_config.json 为默认脚本文件。 #### 获取模块ROM、RAM信息 - **示例代码** +点击下载代码 + ```python import gc import uos diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_01.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_01.png new file mode 100644 index 0000000000000000000000000000000000000000..466b1f1fb45f3dfdf08323643c5f28dc903a14f8 Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_01.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_02.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_02.png new file mode 100644 index 0000000000000000000000000000000000000000..2868e303c7ce1b0449da6ede66cc5356c354d674 Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_02.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_03.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_03.png new file mode 100644 index 0000000000000000000000000000000000000000..e6fcbbfccacb82eb62ca3f6a599e96039c88cebe Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_03.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_04.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_04.png new file mode 100644 index 0000000000000000000000000000000000000000..59c3914449b86438187224ce72994ab16fff3e79 Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_04.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_05.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_05.png new file mode 100644 index 0000000000000000000000000000000000000000..64d17a03cdbdd0e8e85a726efe6639bc79c255c5 Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_05.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_06.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_06.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc87a6dbb42d6a5eef87b7afeab2192828976d7 Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_06.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_07.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_07.png new file mode 100644 index 0000000000000000000000000000000000000000..f496e08fc9b36de7517538e1033d43a76a8fb185 Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_07.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_08.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_08.png new file mode 100644 index 0000000000000000000000000000000000000000..84276166b760898edb6fdfb9355ff38be4b535bd Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_08.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_09.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_09.png new file mode 100644 index 0000000000000000000000000000000000000000..0838311d68aeffa4894fec3b414462cab1b1b3c3 Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_09.png differ diff --git a/docs/Quick_start/zh/media/QuecPytgon_sbs_file_10.png b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_10.png new file mode 100644 index 0000000000000000000000000000000000000000..2ca722aac586bccabdd270dd2a254a768eb8e280 Binary files /dev/null and b/docs/Quick_start/zh/media/QuecPytgon_sbs_file_10.png differ diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/d255a2ca8359e29ec11c9302558c8730.png b/docs/Quick_start/zh/media/Timer_1.png similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/media/d255a2ca8359e29ec11c9302558c8730.png rename to docs/Quick_start/zh/media/Timer_1.png diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/d79a7e4c4f33637063273447996990c0.png b/docs/Quick_start/zh/media/Timer_2.png similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/media/d79a7e4c4f33637063273447996990c0.png rename to docs/Quick_start/zh/media/Timer_2.png diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/7b7eed9267576d8033ab0fa72a075efb.png b/docs/Quick_start/zh/media/Timer_3.png similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/media/7b7eed9267576d8033ab0fa72a075efb.png rename to docs/Quick_start/zh/media/Timer_3.png diff --git a/docs/Quick_start/zh/timer.md b/docs/Quick_start/zh/timer.md index 6f5bc275bc8f0cf12728d22eda64496b0699b582..a20539f720e1901cf8757062314c911a027e7874 100644 --- a/docs/Quick_start/zh/timer.md +++ b/docs/Quick_start/zh/timer.md @@ -1,151 +1,125 @@ -### 定时器 使用指导 +## 修订历史 -#### 定时器功能 +| 版本 | 日期 | 作者 | 变更表述 | +| ---- | ---------- | ------ | ---------------------------------------------------- | +| 1.0 | 2021-09-09 | Kayden | 增加修订历史,增加部分参考链接,更改代码下载链接位置 | -**定时器基本功能** -定时器可用于多种任务。目前,仅实现了最简单的情况,即定时调用函数,当前移远通信提供的定时器可实现单次和周期性调用函数两种模式。当到达定时器周期时,会触发事件。通过使用回调函数,定时器事件可调用一个Python 函数。 -**定时器功能示例** +# QuecPython Timer定时器开发 -将开发板接入电脑,之后,参考《Quectel_QuecPython_基础操作说明》文档进行操作,下面以 -EC100Y-CN 模块为例进行说明。 +文档主要基于EC600S介绍如何使用QuecPython\_Timer,**其他模组操作类同**。定时器最常用的就是定时与计数,即可以作为精准延时处理,也可以在接通一个时钟源的前提下,统计总共有多少脉冲。通过本文你将了解到Timer的所有设置参数及使用方法。 -![](media/782cd2c870c62e6f022cca4e47c7c806.jpg) +## 硬件描述 -> 图 **1**:模块接入电脑 +目前开放共4个定时器,具体请参阅硬件支持文档进行确认:[硬件支持](https://python.quectel.com/doc/doc/Quecpython_intro/zh/Qp_Product_intro/Hardware_Support.html) -> 创建 test.py 文件,在文件内导入 QuecPython 中的 Timer 类,Timer 类在 Machine -> 模块中。编写定时器代码,如下所示: +## 软件设计 -``` -from machine import Timer - -def func(args): - - print('###timer callback function###') - - timer = Timer(Timer.Timer1) - - timer.start(period=1000, mode=timer.PERIODIC, callback=func) -``` - - - -> 将 test.py -> 文件上传到开发板内,上传方法详见《Quectel_QuecPython_基础操作说明》。 - -> 程序运行结果,如下所示: - -``` ->>> import example - ->>> example.exec('test.py') - ->>> ###timer callback function### +软件相关API介绍参考链接:https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=timer - ###timer callback function### - - ###timer callback function### - - ###timer callback function### - - ###timer callback function### - - ###timer callback function### - - ###timer callback function### - - ###timer callback function### - -timer.stop() 0 - ->>> -``` - - - -#### **QuecPython** 中的定时器 - -**Timer 类中的常量** +### 常量说明 | 常量 | 说明 | -| -------------- | -------------------------- | -| Timer.Timer0 | 定时器 0 | -| Timer.Timer1 | 定时器 1 | -| Timer.Timer2 | 定时器 2 | -| Timer.Timer3 | 定时器 3 | +|----------------|----------------------------| +| Timer.Timer0 | 定时器0 | +| Timer.Timer1 | 定时器1 | +| Timer.Timer2 | 定时器2 | +| Timer.Timer3 | 定时器3 | | Timer.ONE_SHOT | 单次模式,定时器只执行一次 | | Timer.PERIODIC | 周期模式,定时器循环执行 | -#### Timer 类中的方法 +### 创建Timer对象 -**timer = Timer** +timer = Timer(Timer)。创建Timer对象接口参数介绍如下: -> 该函数用于创建一个 timer 对象。使用定时器相关函数 *timer.start* 和 -> *timer.stop* 之前,需先使用该函数 +| 参数 | 类型 | 说明 | +| ----- | ---- | ---------------------------------------- | +| Timer | int | 定时器号。EC600S支持定时器Timer0\~Timer3 | -> 实例化对象,即创建 Timer 对象。 +### 启动定时器 -- 函数原型 +timer.start(period, mode, callback):启动对应的定时器,接口参数介绍如下: - timer = Timer(Timern) +| 参数 | 类型 | 说明 | +|----------|----------|--------------------------------------------------------------------------------------| +| period | int | 中断周期,单位毫秒 | +| mode | int | 运行模式 Timer.ONE_SHOT 单次模式,定时器只执行一次 Timer.PERIODIC 周期模式,循环执行 | +| callback | function | 定时器执行函数 | -- 参数 +返回值:启动成功返回整型值0,失败返回整型值-1。 - *Timern*:常量。定时器号。EC100Y-CN 和 EC600S-CN - 模块支持的定时器为:Timer0~Timer3。 ⚫ 返回值 +### 关闭定时器 - 返回 timer 对象。 +timer.stop():关闭对应的定时器,无参数。 -**timer.start** +返回值:成功返回整型0,失败返回整型-1 -> 该函数用于启动定时器。 +## 交互操作 -- 函数原型 +使用QPYcom工具和模组进行交互,下面实例是基于Timer0,Timer1。Timer2和Timer3配置类似。 - timer.start(period, mode, callback) +
+![](media/Timer_1.png) -- 参数 - *period*:整型。中断周期,单位:毫秒。 - *mode*: +注意: - 常量。定时器运行模式,如下: +1. from machine import Timer即为让Timer模块在当前空间可见。 +2. 只有from machine import Timer模块,才能使用Timer内的函数和变量。 +3. 上述操作没有连接任何外设,仅作为熟悉指令参考。 - Timer.ONE_SHOT 单次模式,定时器只执行一次 - Timer.PERIODIC 周期模式,循环执行 - *callback*: 回调函数,定时执行的函数。 +## 下载验证 -- 返回值 +### 软件代码 - 0 定时器启动成功。 -1 定时器启动失败。 +配套demo的参考代码为文档同目录下的timer_file.py文件。下载.py文件到模组运行,代码如下: 点击下载代码 -**timer.stop** +```python +import log +from machine import Timer +log.basicConfig(level=log.INFO) # 设置日志输出级别 +Timer_Log = log.getLogger("Quectel") # 获取logger对象 +log_print_num = 5 +state = 1 +timer0 = Timer(Timer.Timer1) +# 创建一个执行函数,并将timer实例传入 +def timer_test(t): + global log_print_num + global state + Timer_Log.info('log_print_num is %d' % log_print_num) + log_print_num -= 1 + if log_print_num <= 0: + Timer_Log.info('timer exit') + state = 0 + timer0.stop() # 结束该定时器实例 +timer0.start(period=1000, mode=timer0.PERIODIC, callback=timer_test) # 启动定时器 +while state: + pass + +``` -> 该函数用于关闭定时器。 -- 函数原型 - timer.stop() +### 硬件连接: -- 参数 +本文验证仅对timer,无需外接外设。 - 无。 +### 运行效果 -- 返回值 +1. 打开QPYcom运行timer\_file.py,如下图: - 0 定时器关闭成功。 -1 定时器关闭失败。 +
+![](media/Timer_2.png) +
+2. 在QPYcom交互界面查看输出结果如下: -#### 附录 +
+![](media/Timer_3.png) -> 表 **1**:术语缩写 -| 术语 | 英文全称 | 中文全称 | -| ---- | --------------------------------- | ---------------- | -| API | Application Programming Interface | 应用程序编程接口 | diff --git a/docs/Advanced_development/zh/QuecPythonSub/ADC.md b/docs/sbs/zh/BSP/ADC.md similarity index 77% rename from docs/Advanced_development/zh/QuecPythonSub/ADC.md rename to docs/sbs/zh/BSP/ADC.md index a3216a4c719d33a1027efa1db83b22c214aa3029..573350acac2a01c2a53c60725d2fabe26d9d0a3f 100644 --- a/docs/Advanced_development/zh/QuecPythonSub/ADC.md +++ b/docs/sbs/zh/BSP/ADC.md @@ -1,18 +1,24 @@ +## 修订历史 + +| 版本 | 日期 | 作者 | 变更表述 | +| ---- | ---------- | ------ | -------------------------------------------------- | +| 1.0 | 2021-09-10 | Kayden | 增加修订历史,参考链接,更换截图和代码下载链接位置 | + # **QuecPython ADC采样开发使用说明** ## 硬件描述 本文主要基于EC600S_QuecPython_EVB进行介绍,其他开发板类同。 -本部分介绍可结合光敏传感器实验进行学习:https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/Photoresistor.html +本部分介绍可结合光敏传感器实验进行学习:[光敏传感器实验](https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/Photoresistor.html) 目前EC600S开放共2路ADC,2路ADC连接位置如下图所示: -其他模组开放ADC情况可查看硬件支持内容,链接:https://python.quectel.com/doc/doc/Quecpython_intro/zh/Qp_Product_intro/Hardware_Support.html +其他模组开放ADC情况可查看硬件支持内容:[硬件支持](https://python.quectel.com/doc/doc/Quecpython_intro/zh/Qp_Product_intro/Hardware_Support.html) -具体ADC相关API使用介绍链接:https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=adc +具体ADC相关API使用介绍:[ADC相关API](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=adc) -ADC硬件原理图请查看模组硬件设计手册和开发板原理图,官网下载链接:https://python.quectel.com/download +ADC硬件原理图请查看模组硬件设计手册和开发板原理图[官网下载链接](https://python.quectel.com/download) 资料如有缺失可在QQ群搜索群文件获取:445121768 diff --git a/docs/Advanced_development/zh/QuecPythonSub/I2C.md b/docs/sbs/zh/BSP/I2C.md old mode 100755 new mode 100644 similarity index 83% rename from docs/Advanced_development/zh/QuecPythonSub/I2C.md rename to docs/sbs/zh/BSP/I2C.md index 2d8551bd9c7c2c1079e945bbc31dfb2a17b34bc6..6353ee806ea51908ecf6b12f084ca72c080feb6e --- a/docs/Advanced_development/zh/QuecPythonSub/I2C.md +++ b/docs/sbs/zh/BSP/I2C.md @@ -1,3 +1,9 @@ +## 修订历史 + +| 版本 | 日期 | 作者 | 变更描述 | +| ---- | ---------- | ------ | -------------------------------------------- | +| 1.0 | 2021-09-13 | Kayden | 增加修订历史,删除参考代码,新增参考实验链接 | + ## 简介 本文主要介绍QuecPython I2C模块的使用。 @@ -41,6 +47,6 @@ I2C的数据和地址传输都带响应。响应包括“应答(ACK)”和 ### 快速开始 1. 具体关于 QuecPython I2C 的详细的API 请参考:[QuecPython-machine - 硬件相关功能-I2C](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=i2c) -2. 关于I2C的应用实验详情参考内部温度传感器实验:https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/i2c_aht.html -3. 关于I2C的应用实验详情还可以参考加速度传感器实验:https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/i2c_lis2dh.html +2. 关于I2C的应用实验详情参考温湿度传感器实验:[温湿度传感器实验](https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/i2c_aht.html) +3. 关于I2C的应用实验详情还可以参考加速度传感器实验:[加速度传感器实验](https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/i2c_lis2dh.html) diff --git a/docs/Advanced_development/zh/QuecPythonSub/code/adc_file.py b/docs/sbs/zh/BSP/code/adc_file.py similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/code/adc_file.py rename to docs/sbs/zh/BSP/code/adc_file.py diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/ADC_1.png b/docs/sbs/zh/BSP/media/ADC_1.png similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/media/ADC_1.png rename to docs/sbs/zh/BSP/media/ADC_1.png diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/ADC_2.png b/docs/sbs/zh/BSP/media/ADC_2.png similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/media/ADC_2.png rename to docs/sbs/zh/BSP/media/ADC_2.png diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/ADC_3.png b/docs/sbs/zh/BSP/media/ADC_3.png similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/media/ADC_3.png rename to docs/sbs/zh/BSP/media/ADC_3.png diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_03.png b/docs/sbs/zh/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_03.png similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_03.png rename to docs/sbs/zh/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_03.png diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_04.png b/docs/sbs/zh/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_04.png similarity index 100% rename from docs/Advanced_development/zh/QuecPythonSub/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_04.png rename to docs/sbs/zh/BSP/media/Qp_Advanced_development_QuecPythonSub_i2c_bus_04.png diff --git a/docs/sbs/zh/sidebar.yaml b/docs/sbs/zh/sidebar.yaml index 76718ad17cef480a705ef0102e99bd27e4630604..7d26d6166a16e73181352f60a463249d2aebd9c0 100644 --- a/docs/sbs/zh/sidebar.yaml +++ b/docs/sbs/zh/sidebar.yaml @@ -13,11 +13,12 @@ items: - label: PWM开发 file: BSP/PWM开发.md - label: ADC采样开发 - file: BSP/ADC采样开发.md + file: BSP/ADC.md - label: SPI总线开发 file: BSP/SPI.md - label: 网络应用 items: + - label: dataCall数据拨号 file: QuecPythonWirelessNetwork/DataCall.md - label: SIM卡功能开发