1. 前言
- 这是使用RT-thread IDE开发的项目,支持在RISC-V核心基础硬件CH32V307评估板上使用带有msh Shell的RTOS快速原型。
MCU:CH32V307VCT6,主频 144MHz,FLASH和RAM可配置
LED:2个,用户 LEDs, LED1(blue),LED2(red)。
按键:3个,Reset, User 和 Download。
USB:2个,Tpye-C。
网口:1个,内置 10M PHY。
板载 WCH-Link 下载调试工具。
首先,应安装 CH32V307 评估板的驱动程序,打开设备管理器查看USB 端口和外部接口已准备就绪。
- CH32V307数据手册:https://www.wch.cn/downloads/CH32V20x_30xDS0_PDF.html
- CH32V307参考手册:https://www.wch.cn/downloads/CH32FV2x_V3xRM_PDF.html
- 评估板说明及参考例程:https://www.wch.cn/downloads/CH32V307EVT_ZIP.html
- CH343SER.ZIP串口地址
2. 软件配置
2.1 安装RT-Thread Studio
本次程序开发采用RT-Thread Studio集成开发环境,安装RT-Thread Studio。🥳🥳🥳
官网地址:https://www.rt-thread.org/studio.html
安装完成如下
2.2 RT-Thread Studio配置沁恒WCH CH32V307V-R1
进入RT-Thread Studio然后登陆,显示如下
点击SDK Manage,选择安装CH307V-R1开发包和下载调试器
根据安装日志,可见相关包已经安装成功,退出SDK管理器
3 项目搭建
3.1 新建RT-Thread项目
点击文件,依次新建RT-Thread项目
选择基于开发板,项目工程名称Blinky,查看对应开发板,点击完成
展开项目,点击applications下的main.c
main.c文件
/********************************** (C) COPYRIGHT ******************************* * File Name : main.c * Author : WCH * Version : V1.0.0 * Date : 2021/06/06 * Description : Main program body. * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. * SPDX-License-Identifier: Apache-2.0 *******************************************************************************/ #include "ch32v30x.h" #include <rtthread.h> #include <rthw.h> #include "drivers/pin.h" #include <board.h> /* Global typedef */ /* Global define */ #define LED0_PIN 35 //PC3 /* Global Variable */ /********************************************************************* * @fn main * * @brief Main program. * * @return none */ int main(void) { rt_kprintf("MCU: CH32V307\n"); rt_kprintf("SysClk: %dHz\n",SystemCoreClock); rt_kprintf("www.wch.cn\n"); LED1_BLINK_INIT(); GPIO_ResetBits(GPIOA,GPIO_Pin_0); while(1) { GPIO_SetBits(GPIOA,GPIO_Pin_0); rt_thread_mdelay(500); GPIO_ResetBits(GPIOA,GPIO_Pin_0); rt_thread_mdelay(500); } } /********************************************************************* * @fn led * * @brief gpio operation by pins driver. * * @return none */ int led(void) { rt_uint8_t count; rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT); rt_kprintf("led_SP:%08x\r\n",__get_SP()); for(count = 0 ; count < 10 ;count++) { rt_pin_write(LED0_PIN, PIN_LOW); rt_kprintf("led on, count : %d\r\n", count); rt_thread_mdelay(500); rt_pin_write(LED0_PIN, PIN_HIGH); rt_kprintf("led off\r\n"); rt_thread_mdelay(500); } return 0; } MSH_CMD_EXPORT(led, led sample by using I/O drivers);
3.2 编译项目
开发板数据线连接电脑就可以开始连接调试🛹🛹🛹
然后下载,设置下载方式,选择rtthread,bin文件(在Debug文件夹下)
有时需要更新Execute,更新成功
再次点击下载Execute,下载成功
4. 下载验证
4.1 接线
根据原理图
需要用杜邦线吧LED1与PA0连接起来,即可点灯
4.2 演示效果
代码下载后验证,输入led运行成功。
5. 小结
🥳🥳🥳通过对这篇文章我们掌握了沁恒WCH CH32V307V-R1在RT-Thread Studio上环境配置教程,接下来会有许多有趣的实验,尝试与Arduino通讯做更加好玩的实验,进而丰富我们的生活。🛹🛹🛹从而实现对外部世界进行感知,充分认识这个有机与无机的环境,🥳🥳🥳科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。🤣🤣🤣