rt-thread/bsp/wch/risc-v/ch32v208w-r0/CH32V208W-R0上手指南.md

148 lines
5.3 KiB
Markdown
Raw Normal View History

# CH32V208W-R0上手指南
**中文** | [English](./CH32V208W-R0 Getting Started Guide.md)
CH32V208W-R0支持RT-Studio工程本上手指南以RT-Studio环境的开发说明举例。
## 1 准备阶段
- 拉取rt-thread的github仓库到本地[链接地址](https://github.com/RT-Thread/rt-thread)。
- 下载安装RT-Thread Studio,[链接地址](https://www.rt-thread.org/studio.html)。
- 准备ESP8266模块。
## 2 BSP上手阶段
### 2.1 点击文件,选择导入选项。
<img src="./figures/1import.png" style="zoom:80%;" />
### 2.2 选择导入RT-Thread Bsp 到工作空间中
<img src="./figures/2workspace.png" style="zoom:80%;" />
<div STYLE="page-break-after: always;"></div>
### 2.3 按照示例填写工程信息
<img src="./figures/3info.png" style="zoom:80%;" />
### 2.4 配置工程
导入工程后在工程的根目录下存在参考文档readme,首先按照readme.md进行基础的配置
为了减小链接时添加的标准库带来的内存增大我们可以选择使用相对占用内存较小的newlib,具体操作如下:
<img src="./figures/13newlib.png" style="zoom:67%;" />
### 2.5 编译工程
点击编译选项:
![](./figures/4build.png)
编译结果:
![](./figures/5result.png)
工程编译通过,至此,准备阶段完成。
## 3 使用RT-Studio配置BSP驱动
RT-Thread每个BSP已经默认适配了若干片上外设驱动与板载外设驱动使用RT-Studio将相应的开关直接打开并依据使用环境配置相应参数即可使用。由于各个管脚存在复用功能所以并不是所有的片上外设驱动与板载外设驱动都可以同时使用使用时需要结合原理图来合理开启相应的外设驱动。
RT-Thread有许多软件软件包使用RT-Studio将相应软件包的开关打开便可将软件包添加至工程使用。
<img src="./figures/6pkgs.png" style="zoom:80%;" />
## 4 联网实操使用ESP8266模块联网
ESP8266是面向物联网应用的高性价比、高度集成的 Wi-Fi MCU,也可以将其作为一个单独的WIFI模块使用,其实物图如下。ESP8266模组通常支持[AT指令](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/at/at)的操作方式RT-Thread针对这些支持AT指令的模组提供了一个抽象层,本小结将使用AT组将与ESP8266通讯并连接WIFI。
<img src="./figures/7esp8266.png" style="zoom:60%;" />
### 4.1 配置板载UART外设
使用AT组件与ESP8266模组通讯采用串口通讯的方式所以需要再使能一路串口这里我们使用UART2串口驱动默认已经支持我们仅需要在使用时在RT-Studio中打开即可具体操作方式如下:
![](./figures/8setting.png)
开启选项后,`ctrl + s`保存设置串口2即被初始化。
### 4.2 使用RT-Studio配置AT组件
点击左侧的RT-Thread Settings选项弹出右侧的配置菜单在搜索栏中输入AT,选择`AT设备 `使能AT设备
<img src="./figures/9AT.png" style="zoom: 50%;" />
选择ESP8266并配置相应参数示例如下:
<img src="./figures/10wifinfo.png" style="zoom:80%;" />
### 4.3 ESP8266模组连接
将板子上的`PA2`管脚与模组的`RX`管脚连接,将`PA3`管脚与模组的`TX`管脚连接,并使用开发板引出的电源为模组供电。
<img src="./figures/11board.png" style="zoom: 25%;" />
### 4.4 使能内核调试功能。
为了更加直观的了解组件的初始化过程,我们可以使能内核调试功能来观察(不需要时可以关掉),操作方法如下:
![](./figures/12kdebug.png)
重新编译并烧录固件shell输出如下
![](./figures/14shellinfo.png)
### 4.5 wifi联网测试
我门在使用AT时已经配置了WIFI的ID与密码在shell中输入`ping www.baidu.com`命令测试WIFI连接情况。
![](./figures/15ping.png)
输出类似内容ESP8266模组便联网成功
### 5 RTduino组件
[RTduino](https://github.com/Yaochenger/RTduino)是RT-Thread实时操作系统的Arduino生态兼容层为[RT-Thread社区](https://github.com/RT-Thread/rt-thread)的子社区、Arduino开源项目的下游项目旨在兼容Arduino社区生态来丰富RT-Thread社区软件包生态如上千种分门别类的Arduino库以及Arduino社区优秀的开源项目并降低RT-Thread操作系统以及与RT-Thread适配的芯片的学习门槛。
#### 5.1 配置RTduino
将板载设备驱动中的RTduino选项打开。
![](./figures/16rtduino.png)
开启选项后,`ctrl + s`保存设置RTduino软件包即可添加至工程。
#### 5.2 使用RTduino
在`arduino_main.cpp`中会看到熟悉的`void setup(void)`与`void loop(void)`,至此我们便可以在此像使用arduino官方板一样使用该BSP示例代码如下
```c++
#include <Arduino.h>
void setup(void)
{
/* put your setup code here, to run once: */
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(void)
{
/* put your main code here, to run repeatedly: */
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
delay(100);
}
```
工程默认执行一个LED闪烁的功能ch32v208w-r0这款板子默认板载LED不与管脚直接连接用户在使用LED时需要使用杜邦线手动将LED与控制管脚连接起来,现象如下图所示:
<img src="./figures/17led.png" style="zoom: 25%;" />
至此ch32v208w-r0的基础环境便搭建测试完毕