国产单片机(沁恒微WCH)CH32V307评估板初探

国产单片机(沁恒微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评估版的使用就完成了,国产芯片是大势所趋,如果大家感兴趣可以点赞关注,下面有时间会更新其他外设的使用方法跟教程。

完整工程可以在后台私信找我领取。

相关推荐
TianYaKe-天涯客3 分钟前
嵌入式调试LOG日志输出(以STM32为例)
stm32·单片机·嵌入式硬件
芯岭技术8 分钟前
MS32C001-C单片机,32位ARM M0+内核,宽电压、低功耗、小封装。
c语言·arm开发·单片机
is08153 小时前
在STM32 FreeRTOS环境中使用mutex和ringbuffer实现多任务的UART同步通信
stm32·单片机·嵌入式硬件
景彡先生3 小时前
STM32中I2C协议详解
stm32·单片机·嵌入式硬件
星卯教育tony5 小时前
米思齐2.0 3.0 mixly arduino 编程软件下载安装及详情使用指南 导入库文件方法 支持8266 esp32
单片机·嵌入式硬件
削好皮的Pineapple!5 小时前
C语言模块化编程思维以及直流电机控制(第四天)
c语言·开发语言·单片机
weixin_452600698 小时前
GC393低功耗双电压比较器:精准、高效的信号处理解决方案
单片机·嵌入式硬件·智能家居·信号处理·音响·蓝牙音箱
Do vis8248 小时前
STM32第十七天ESP8266-01Swifi模块
stm32·单片机·嵌入式硬件
不想学习\??!8 小时前
STM32-看门狗
stm32·单片机·嵌入式硬件
景彡先生9 小时前
STM32中ADC详解
stm32·单片机·嵌入式硬件