打印
[单片机芯片]

【CH32V317W-R0开发板】用MounRiver Studio点个灯

[复制链接]
194|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
  项目因为网口需要测评CH32V317W-R0开发板:
主控芯片
型号:CH32V317W-R0(基于青稞RISC-V V4F内核)
主频:最高支持144MHz,支持单精度浮点指令和快速中断响应,零等待执行性能。
存储:默认配置256KB Flash + 64KB SRAM,最高可扩展至512KB Flash + 128KB SRAM。
外设资源:
网络:集成千兆以太网MAC控制器,支持10/100/1000Mbps速率,内置PHY收发器(部分型号需外接)。
USB:内置USB2.0高速PHY(480Mbps),支持OTG功能。
接口:8组USART/UART、3组SPI(含2组I2S)、2组I2C、4组电机PWM高级定时器、SDIO、DVP数字图像接口。
模拟:4组模拟运放(OPA)、双12位ADC(1Msps采样率)、双12位DAC。
开发板扩展
网络接口:通常配备RJ45网口,支持RMII/RGMII模式连接PHY芯片(如YT8512H)。
调试接口:两线调试接口(SWD),需使用WCH-Link或WCH-LinkE仿真器。
其他接口:USB Type-C(供电与调试)、CAN总线、RS485、LED指示灯、按键等。



软件开发点灯:
/********************************** (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.
* Attention: This software (modified or not) and binary are used for
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
*******************************************************************************/

/*
*@Note
GPIO routine:
PA0 push-pull output.

*/

#include "debug.h"

/* Global define */

/* Global Variable */

/*********************************************************************
* @fn      GPIO_Toggle_INIT
*
* [url=home.php?mod=space&uid=247401]@brief[/url]   Initializes GPIOA.0
*
* [url=home.php?mod=space&uid=266161]@return[/url]  none
*/
void GPIO_Toggle_INIT(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);
    GPIO_InitTypeDef GPIO_InitStruct = {0};
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; // PC0, PC1
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStruct);
}

/*********************************************************************
* @fn      main
*
* @brief   Main program.
*
* @return  none
*/
int main(void)
{
    u8 i = 0;

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    SystemCoreClockUpdate();
    Delay_Init();
    USART_Printf_Init(115200);       
    printf("SystemClk:%d\r\n", SystemCoreClock);
    printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );

    printf("GPIO Toggle TEST\r\n");
    GPIO_Toggle_INIT();

    while(1)
    {
        Delay_Ms(250);
        GPIO_WriteBit(GPIOC, GPIO_Pin_0 | GPIO_Pin_1, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
    }


编译下载OK!!!
遇到不能下载需要WCHISPStudio解锁:参考程序下载模式。




CH32V30x/CH32V317的BOOT0功能总结:
  • 程序下载模式(ISP模式)
    • 硬件连接:将BOOT0引脚接VCC(高电平),BOOT1引脚接GND(低电平)。
    • 操作逻辑:此配置使芯片从系统存储器启动,允许通过串口或USB使用工具(如WCHISPTool)下载程序。下载完成后,需将BOOT0接回GND,重新上电或复位,使芯片切换到从程序闪存(Flash)启动,运行新下载的程序。
  • 常规启动模式(从Flash运行程序)
    • 硬件连接:将BOOT0引脚接GND(低电平),BOOT1引脚接GND(低电平)。
    • 操作逻辑:此配置为默认启动模式,芯片上电后直接从Flash中读取并执行用户程序。
  • RAM调试模式(特殊场景)
    • 硬件连接:将BOOT0引脚接VCC(高电平),BOOT1引脚接GND(低电平)。
    • 操作逻辑:需配合修改链接脚本(ld文件)和启动文件,使程序从内部SRAM启动。此模式适用于需要高频调试或动态修改代码的场景,但需注意SRAM容量限制(CH32V307默认64KB SRAM,最高可配置至128KB)。

  • 启动模式切换:系统复位或电源复位会重新锁存BOOT0/BOOT1引脚状态,因此每次修改连接后需重新上电或复位。
  • 工具兼容性:使用WCH-Link下载时,需确保调试器处于RISC-V模式(蓝色指示灯不亮),避免模式冲突导致下载失败。
  • 硬件设计建议:若需频繁切换启动模式,可通过跳线帽或拨码开关连接BOOT0引脚,简化操作流程。
  • 效果如下:








使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:项目经理
简介:资深嵌入式开发工程师

93

主题

178

帖子

3

粉丝