diff --git "a/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-Audio\345\272\224\347\224\250\345\274\200\345\217\221.md" "b/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-Audio\345\272\224\347\224\250\345\274\200\345\217\221.md" index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..aa3c41fe494c4d0b7e96fe67db9db9ee682703bd 100644 --- "a/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-Audio\345\272\224\347\224\250\345\274\200\345\217\221.md" +++ "b/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-Audio\345\272\224\347\224\250\345\274\200\345\217\221.md" @@ -0,0 +1,240 @@ +# BSP-Audio应用开发 + +## 硬件连接 + +| 开发板型号 | 开发板对应PIN脚 | 开发板上对应的连接位置 | 对应的音频通道 | +| -------------------------------------------------------- | ------------------------------ | ---------------------- | -------------- | +| EC600N_QuecPython_EVB_V2.0
EC600N_QuecPython_EVB_V3.1 | PIN21、PIN22 | J7 | 通道0 | +| EC600U_QuecPython_EVB_V2.0 | PIN21、PIN22
PIN109、PIN110 | J7
J6的PIN14、PIN15 | 通道0
通道2 | + +针对EC600N_QuecPython_EVB_2.0和EC600N_QuecPython_EVB_3.1 通道0的硬件连接图如下: + +喇叭直接开发板的SPK-、SPK+ + +image-20230208141755278 + +针对EC600U_QuecPython_EVB_2.0 通道0的硬件连接图如下: + +喇叭直接开发板的SPK-、SPK+,另外短接PIN40引脚 + +audio_03 + +针对EC600U_QuecPython_EVB_2.0 通道2的硬件连接图如下: + +喇叭直接开发板的J6的PIN14、PIN15引脚 + +![audio_03](../media/BSP应用开发/BSP_Audio_3.png) + +## GPIO查找 + +Q:拉高GPIO,PIN引脚如何查找对应的GPIO? + +A:请认真查看下面步骤。 + +注:不同型号对应PIN脚可能不同,对应的GPIO也不同,以原理图和wiki为准,以下以EC600N为例步骤查询: + +①查看原理图,找到AUDIO模块的CTRL对应的引脚。 + +![image-20230228171622911](../media/BSP应用开发/BSP_Audio_4.png) + +![image-20230228171622911](../media/BSP应用开发/BSP_Audio_5.png) + +②在原理图找到PIN40,然后移步到wiki上面查找对应的GPIO口即可。 + +![image-20230228171812796](../media/BSP应用开发/BSP_Audio_6.png) + + + +## 软件实现 + +### Audio + +下载验证: + +1. 根据测试场景,调整下面代码的注释。 + + ```python + import utime as time + import audio + from machine import Pin + import utime + + #以EC600NCNLF为例: + def example_audio_mp3(): + aud = audio.Audio(0) # 配置通道0 + # aud = audio.Audio(2) # 配置通道2 + aud.setVolume(2) #设置音量大小 + # 使能外接喇叭播放 + gpio=Pin(Pin.GPIO9, Pin.OUT, Pin.PULL_PD, 1) #GPIO配置拉高 + print(gpio.read()) #查看引脚电平状态 + # U: 表示用户目录, 将文件下载到 /usr 文件下 + # 以下格式选一种来演示 + aud.play(2, 1, "U:/audio_audio_haixiu.mp3") #mp3格式 + #aud.play(2, 1, "U:/audio_audio_connect_ok.amr") #amr格式 + # aud.play(2, 1, "U:/audio_audio_haixiu.wav") #wav格式 + pass + + if __name__ == "__main__": + example_audio_mp3() + + ``` + +2. 将随包的 audio_audio_haixiu.mp3 和修改好的 example_audio_file.py 文件下载到开发板中。 + +3. 运行 example_audio_file.py 脚本即可。 + + + +注意: + +以EC600N和EC600U为例验证(注意各个开发板引脚不同) + +- 对于EC600N的3.1V版本的开发板,配置通道0,需要GPIO拉高 +- 对于EC600N的2.0V版本的开发板,配置通道0,需要GPIO拉高 +- 对于EC600U的通道0的话,代码注释掉配置通道2,短接PIN40,需要GPIO拉高 +- 对于EC600U的通道2的话,代码注释掉配置通道0,接引脚J6的14、15引脚,需要GPIO拉高 + + + +### TTS + +下载验证: + +1.根据测试场景,调整下面代码的注释。 + +参数及详情请看wiki链接:[QuecPython 类库 (quectel.com)](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=tts) + +以下以EC600NCNLF_QuecPython_EVB_3.1 版本测试 + +```python +# -*- coding: UTF-8 -*- +#注意,python文件开头需要加上“-- coding: UTF-8 --” +import audio +import utime +from machine import Pin +# tts = audio.TTS(0) +tts = audio.TTS(2) +#参数具体看wiki +#tts播放中文示例: +gpio=Pin(Pin.GPIO9, Pin.OUT, Pin.PULL_PD, 1) #GPIO配置拉高 +print(gpio.read()) +tts.play(1, 1, 2, '移联万物,志存高远') + +#以下是各种场景使用,用到可以去掉注释,用不到可以忽略 +# 1. +#TTS引擎自动决定是以号码形式播放还是以数值的形式播放 +#TTS引擎以数值形式播放 +# tts.play(1,1,2, '[n2]12345') +# utime.sleep(2) +# #TTS引擎以号码形式播放 +# tts.play(1,1,2, '[n1]12345') +# utime.sleep(2) + +# 2. +#TTS引擎以默认语速5播放语音 +#TTS引擎以默认语速的0.5倍速播放语音 +# tts.play(1,1,2, '[s0]12345') +# utime.sleep(2) +# #TTS引擎以默认语速的2倍语速播放语音 +# tts.play(1,1,2, '[s10]12345') +# utime.sleep(3) + +# 3. +# 语调设置: +#TTS引擎以默认语调基频减64Hz播放语音 +# tts.play(1,1,2, '[t0]12345') +# utime.sleep(2) +# #TTS引擎以默认语调基频加128Hz播放语音 +# tts.play(1,1,2, '[t10]12345') + +# 4. +# 汉字指定拼音: +#汉字:声调用后接一位数字 1 ~ 5 分别表示阴平、阳平、上声、去声和轻声 5 个声调。 +# tts.play(1,1,2, '乐[=le4]') +# utime.sleep(2) +# tts.play(1,1,2, '乐[=yue4]') +# utime.sleep(2) + +# 5. +#变声,默认女声 +# tts.play(1, 1, 2, '[m51]移远通信,移联万物') #男生 +# utime.sleep(3) +# tts.play(1, 1, 2, '[m53]移远通信,客户第一') #女声 +# utime.sleep(3) +# tts.play(1, 1, 2, '[m54]移远通信,以人为本') #童声 +# utime.sleep(3) + + + +``` + +2.将随包的example_tts_file.py 文件下载到开发板中。 + +3.运行example_tts_file.py 脚本即可。 + + + +### Record + +下载验证: + +1.根据测试场景,调整下面代码的注释。 + +参数及详情请看wiki链接:[QuecPython 类库 (quectel.com)](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=record) + +以下以EC600NCNLF_QuecPython_EVB_3.1 版本测试 + +```python +import utime +import audio +from machine import Pin + + +flag = 1 +''' +外接喇叭播放录音文件,EC600N参数通道选择0,EC600U参数通道选择0或者2 +''' +aud = audio.Audio(0) +tts = audio.TTS(0) + +aud.setVolume(11) +#使能把电平拉高,GPIO的选择根据各个模块的audio引脚不同在wiki上选择不同的GPIO +audio_EN = Pin(Pin.GPIO9, Pin.OUT, Pin.PULL_PD, 1)#GPIO配置拉高 + +def record_callback(args): + global flag + print('file_name:{}'.format(args[0])) + print('file_size:{}'.format(args[1])) + print('record_sta:{}'.format(args[2])) + + record_sta = args[2] + if record_sta == 3: + print('The recording is over, play it') + tts.play(1, 0, 2, '录音结束,准备播放录音文件') + aud.play(1, 0, record.getFilePath(path)) + flag = 0 + elif record_sta == -1: + print('The recording failure.') + tts.play(1, 0, 2, '录音失败') + flag = 0 + +record = audio.Record() +record.start('U:/recordfile.wav',5) +record.end_callback(record_callback) +path='U:/recordfile.wav' + +while 1: + utime.sleep(1) + if flag: + pass + else: + break + +``` + +2.将随包的example_record_file.py 文件下载到开发板中。 + +3.运行example_record_file.py 脚本即可。 + + + diff --git "a/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-ExtInt\345\274\225\350\204\232\344\270\255\346\226\255\345\272\224\347\224\250\345\274\200\345\217\221.md" "b/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-ExtInt\345\274\225\350\204\232\344\270\255\346\226\255\345\272\224\347\224\250\345\274\200\345\217\221.md" new file mode 100644 index 0000000000000000000000000000000000000000..4737cd695298a248d8f0c1f7b73f59003969c08f --- /dev/null +++ "b/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-ExtInt\345\274\225\350\204\232\344\270\255\346\226\255\345\272\224\347\224\250\345\274\200\345\217\221.md" @@ -0,0 +1,81 @@ +# BSP-ExtInt引脚中断应用开发 + +## Extlnt概述 + +​ GPIO介绍过后,接着介绍外部中断,普通GPIO可以随时查询Pin引脚的电平状态,但却不能及时发现电平的变化,而外部中断就能完美的解决这个问题。若设定了上升沿触发外部中断时,当电平从低电平上升到高电平瞬间,就会触发外部中断,从而在电平变化时立马执行回调函数。 + +### 功能描述 + +用于配置I/O引脚在发生外部事件时中断 + +### API介绍 + +[QuecPython 类库 (quectel.com)](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=extint) + +### 快速开发 + +#### PIN对应关系 + +示列: + +①查看原理图,找出按键PIN脚。(可咨询FAE获取或者Q群文件获取) + +BSP_Extlnt_1 + +②查看wiki里的machine-硬件功能模块下的Pin模块,可查找到PIN脚对应的GPIO。 + +image-20230223113733659 + +#### 命令行操作 + +使用QPYcom工具和模组进行交互,示例如下: + +以EC600NCNLF为例,详情Extlnt接口链接:[QuecPython 类库 (quectel.com)](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=extint) + +![image-20230223112920719](../media/BSP应用开发/BSP_Extlnt_3.png) + + + +#### 代码操作 + +```python +from machine import ExtInt +import utime +def fun1(args): + print(args) + print("key1 extint") +def fun2(args): + print(args) + print("key2 extint") +extint1 = ExtInt(ExtInt.GPIO13, ExtInt.IRQ_RISING, ExtInt.PULL_PD, fun1) #S4 kye1 +extint2 = ExtInt(ExtInt.GPIO12, ExtInt.IRQ_FALLING, ExtInt.PULL_PU, fun2) #S5 kye2 +extint1.enable() +extint2.enable() +while True: + utime.sleep_ms(200) +``` + +把上面的代码编写成.py文件,使用QPYcom工具下载到模组里面运行,按键按下key1、key2,即可看到以下结果显示: + +image-20230223112041989 + +## 名词解释 + +低电平:通常用0来表示低电平 + +高电平:通常用1来表示高电平 + +上升沿:从低电平上升到高电平的边沿 + +下降沿:从高电平上升到低电平的边沿 + +回调函数:一个普通函数,在满足设定条件下被触发执行这个函数 + +浮空:Pin引脚直出,没有默认电平,处于不稳定状态 + +上拉:Pin引脚内部有个电阻拉到VCC,默认为高电平 + +下拉:Pin引脚内部有个电阻拉到GND,默认为低电平 + +中断:停止执行当前的程序去执行另一段程序,这个过程叫中断 + diff --git "a/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-GPIO\345\272\224\347\224\250\345\274\200\345\217\221.md" "b/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-GPIO\345\272\224\347\224\250\345\274\200\345\217\221.md" index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8cc36eb68faef328dc3deb7e698af1099a5d1f40 100644 --- "a/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-GPIO\345\272\224\347\224\250\345\274\200\345\217\221.md" +++ "b/docs/development_guide/zh/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP-GPIO\345\272\224\347\224\250\345\274\200\345\217\221.md" @@ -0,0 +1,93 @@ +# BSP-GPIO应用开发 + +## GPIO概述 + +​ GPIO:(General-purpose input/output),通用型之输入输出的简称。本文介绍如何使用QuecPython里的GPIO,GPIO通常用于连接驱动LED、蜂鸣器、继电器、读取外部IC的引脚电平状态等等. + +### 功能描述 + +GPIO可以输出高电平、低电平两种状态,设置为1即高电平,0即为低电平 + +![image-20210906154509891](../media/BSP应用开发/BSP_GPIO_1.png) + +GPIO可以读取外部电平状态,读到高电平返回1,读到低电平返回0 + +![image-20210906154519521](../media/BSP应用开发/BSP_GPIO_2.png) + + + +### API介绍 + +API链接:[PIN_API库](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=pin) + +### 快速开发 + +#### PIN对应关系 + +示列: + +①查看原理图,找出按键PIN脚。(可咨询FAE获取或者Q群文件获取) + +![image-20230216151528680](../media/BSP应用开发/BSP_GPIO_3.png) + +②查看wiki里的machine-硬件功能模块下的Pin模块,可查找到PIN脚对应的GPIO。 + +![image-20230216151558683](../media/BSP应用开发/BSP_GPIO_4.png) + + + +#### 命令行操作 + +使用QPYcom工具和模组进行交互,示例如下: + +以EC600NCNLF为例,详情Pin接口链接:[QuecPython 类库 (quectel.com)](https://python.quectel.com/wiki/#/zh-cn/api/QuecPythonClasslib?id=pin) + +![image-20230202174401956](../media/BSP应用开发/BSP_GPIO_5.png) + + + +#### 代码操作 + +```python +from machine import Pin +import utime + +gpio1 = Pin(Pin.GPIO1, Pin.OUT, Pin.PULL_DISABLE, 0) +gpio2 = Pin(Pin.GPIO2, Pin.OUT, Pin.PULL_DISABLE, 0) +gpio3 = Pin(Pin.GPIO3, Pin.OUT, Pin.PULL_DISABLE, 0) + +while True: + gpio1.write(1) + gpio2.write(1) + gpio3.write(1) + print('Output high level') + utime.sleep_ms(500) + gpio1.write(0) + gpio2.write(0) + gpio3.write(0) + print('Output low level') + utime.sleep_ms(500) +``` + +把上面的代码编写成.py文件,使用QPYcom工具下载到模组里面运行,即可看到以下结果显示。 + +![image-20230202174657701](../media/BSP应用开发/BSP_GPIO_6.png) + + + +## 名词解释 + +低电平:通常用0来表示低电平 + +高电平:通常用1来表示高电平 + +浮空:Pin引脚直出,没有默认电平,处于不稳定状态 + +上拉:Pin引脚内部有个电阻拉到VCC,默认为高电平 + +下拉:Pin引脚内部有个电阻拉到GND,默认为低电平 + +输入:Pin引脚的电平状态随外部变化 + +输出:Pin引脚的电平驱动外围电路 + diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_1.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_1.png" new file mode 100644 index 0000000000000000000000000000000000000000..fcb08d697c48526a3d31d0de3559e2453ac06f98 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_1.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_2.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_2.png" new file mode 100644 index 0000000000000000000000000000000000000000..659f13c654502c31389d77c146dfd8d03a2748d0 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_2.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_3.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_3.png" new file mode 100644 index 0000000000000000000000000000000000000000..e3e33b45a92fb5c5c6f00f117ad026a3dd7a16a4 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_3.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_4.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_4.png" new file mode 100644 index 0000000000000000000000000000000000000000..878de8f049992468a6d825b6845825b45893f17f Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_4.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_5.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_5.png" new file mode 100644 index 0000000000000000000000000000000000000000..f64bad3af1b232c354bf1dbe4b6c7faa2f59ef58 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_5.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_6.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_6.png" new file mode 100644 index 0000000000000000000000000000000000000000..7e7ea53562aadf68516d9d3d72824bc274bc8ea5 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Audio_6.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_1.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_1.png" new file mode 100644 index 0000000000000000000000000000000000000000..dc1213e8cc6352144694f13f1eca7c8995595321 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_1.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_2.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_2.png" new file mode 100644 index 0000000000000000000000000000000000000000..43a9b0cbedd0336dfea46e2e8a68c027222412cc Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_2.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_3.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_3.png" new file mode 100644 index 0000000000000000000000000000000000000000..7b1cceab1dfa140b2a122ec487af5c74348ad3ff Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_3.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_4.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_4.png" new file mode 100644 index 0000000000000000000000000000000000000000..9b5ffe2f6f12b049fdc05861a1eb26e4eda13c71 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_Extlnt_4.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_1.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_1.png" new file mode 100644 index 0000000000000000000000000000000000000000..b9bc03507e44a7147e7785e78f947a4fabc6c704 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_1.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_2.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_2.png" new file mode 100644 index 0000000000000000000000000000000000000000..57b30c80fa4a47470d969e0ac716a9d5f2f063d3 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_2.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_3.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_3.png" new file mode 100644 index 0000000000000000000000000000000000000000..261173b350be8348cb845bcfdff2544481956ee7 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_3.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_4.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_4.png" new file mode 100644 index 0000000000000000000000000000000000000000..9fe37930e9e3e811a6163bac692f6f37792c8c67 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_4.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_5.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_5.png" new file mode 100644 index 0000000000000000000000000000000000000000..77b668003fbc2b929d01d3b714aae5ca301ecfa4 Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_5.png" differ diff --git "a/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_6.png" "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_6.png" new file mode 100644 index 0000000000000000000000000000000000000000..2879e2ea4dc7ff0a6294d2f2b034e10c8fbce37f Binary files /dev/null and "b/docs/development_guide/zh/media/BSP\345\272\224\347\224\250\345\274\200\345\217\221/BSP_GPIO_6.png" differ