国产单片机(沁恒微WCH)CH32V307评估板初探
关于沁恒微:国产芯厂家、官网链接
公司简介 - 南京沁恒微电子股份有限公司 (wch.cn)
开发板资源:
评估板应用于 CH32V307 芯片的开发,IDE 使用 MounRiver 编译器,可选择使用板载或独立的 WCH-Link 进行仿真和下载,并提供了芯片资源相关的应用参考示例及演示。
上图 CH32V307V 评估板配有以下资源:
主板 - CH32V307EVT
1.主控 MCU :CH32V307VCT6
2.SDI&UART 接口 :用于下载、仿真调试,需跳线选择是否使用板载 WCH-Link
3.LED :通过 J3 插针连接主控 MCU 的 IO 口进行控制
4.WCH-Link MCU :实现 WCH-Link 功能的 MCU
5.按键 S1 :复位按键,用于外部手动复位主控 MCU
6.开关 S3 :用于切断或连接外部 5V 供电或 USB 供电
7.USB type-C 接口 P7 :连接主芯片 USB2.0 全速通信接口
8.USB type-C 接口 P6: 连接主芯片 USB2.0 高速通信接口
9.稳压芯片 U1 :用于实现将 5V 电压转成芯片可用的 3.3V 电源电压
10.Download 接口 J1 :当 J1 跳线短接时,可用于实现 WCH-Link 固件更新
11.WCH-Link 接口 :用于连接 PC 和 WCH-Link 功能模块
12.MCU I/O 口 : 主控 MCU 的 I/O 引出接口 CH32V30x 评估板说明及应用参考 http://wch.cn V1.6 3
13.USER 按键 S2 :通过 J3 插针连接主控 MCU 的 IO 口进行按键控制
14.WCH-Link 指示灯:包括 D1、D2 和 D3 三个 LED 灯,指示 WCH-Link 运行状态
15.网口:主芯片的网络通讯接口 16.ARDUINO 接口:方便连接 ARDUINO 接口的开发板
MounRiver Stuido介绍
MounRiver Studio(MRS)是一款基于Eclipse GNU版本开发,面向RISC-V、ARM等内核MCU的集成开发环境,提供专业嵌入式项目所需的开发、调试、烧录以及项目管理等功能。
目前免费,可放心使用,无需担心license。
MounRiver Stuido下载
MounRiver Stuido安装
非常简单、一路next即可,我这里使用默认安装路径,如需修改请参考其他资料。
MounRiver Stuido汉化(可选)
创建工程基于CH32V307VCT6:
填写工程信息:
创建好结果如下:工程名是DEMO_01
编写测试代码(基于官方代码包):
第一步:添加用户自定义的文件夹跟文件代码
第二步:把自己添加的用户自定义文件夹加到编译选择中去
具体操作如下:
右键工程属性
选择C/C++构建的设置选项
C编译器设置包含选择
添加相对目录:根据实际情况添加,这里是添加api文件夹
第三步:自己补充一个main.h(非必须)
这里main.h的作用主要是包含相关的库跟api接口头文件
#ifndef _MAIN_H_
#define _MAIN_H_#include "ch32v30x.h"#include "debug.h"
#include "led.h"#endif
第四步:根据官方代码包修改main.c
#include "main.h"//WCH沁恒微测试代码01
int main(void)
{NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);SystemCoreClockUpdate();Delay_Init();LED_Config();USART_Printf_Init(115200); printf("SystemClk:%d\r\n", SystemCoreClock);printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );printf("中文GPIO测试\r\n");while(1){LED_Toggle();}
}
第五步:编译代码(CTRL+B)全部构建
第六步:配置WCH-Link 下载属性
解除代码保护
目标模式选择-可以先查询再应用
内存分配选择-可以先查询再应用
Cade Flash 全擦选择:我这里选择重新上电全擦
目标:连接好后自动识别不需要更改
保存关闭后,F8下载。
最后一步下载验证:
测试代码
测试日志打印:
完整测试代码如下:
#include "led.h"void LED_Config(void)
{GPIO_InitTypeDef GPIO_InitStructure = {0};RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);
}void LED_Toggle(void)
{GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);Delay_Ms(100);printf("灭\r\n");GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);Delay_Ms(100);printf("亮\r\n");}
#ifndef _LED_H_
#define _LED_H_#include "ch32v30x.h"void LED_Config(void);
void LED_Toggle(void);#endif
参考资料:
产品手册 - 南京沁恒微电子股份有限公司 (wch.cn)
至此基于于沁恒微电子工业级互联型RISC-V MCU CH32V307评估版的使用就完成了,国产芯片是大势所趋,如果大家感兴趣可以点赞关注,下面有时间会更新其他外设的使用方法跟教程。
完整工程可以在后台私信找我领取。