345|0

1684

帖子

2

资源

纯净的硅(高级)

【RISC-V MCU CH32V103测评】初体验点亮LED [复制链接]

板子拿到以后发现和图片不一样,板子很小,好象是MIN版的。只带了一块调试板。板子有没有带任何的线缆,所以需要一些其它的器材。USB-TypeC接头线一条,一个P5X2的电缆,因为调试板接头是USB接头,需要一条延长线(我用USB-HUB代替)。实验的步骤如下:友情提示先看板子的PDF文档!

一、下载:MounRiver Studio软件,需要注意的是这个软件是需要java环境的。java一定要装好,我这里是java 8的环境。安装很简单,一路的“NEXT”。建议安装在磁盘空间比较大的磁盘。我安装到F盘。

我安装好以后是这样子地。

二、连接调试器到主机,确认驱动正常。这个调试器可以虚拟出一个UART端口,所以暂时不需要串口电缆。

三、使用USB-TypeC电缆连接开发板,将电源开关拨到ON的位置,可以发现电源LED点亮。

四、将调式器的P2X5电缆连接到开发板。这个注意该开发板可以由调试器供电。USB-TypeC电缆可以不用连接。

五、下载样例程序,CH32V103EVT.zip解压就可以,

六、建立一个新工程,在建立工程时选择芯片的型号"CH32V103C8T6"

 

项目自动建立一个模板,我直接编译,该模板。使用flash菜单,下载程序到芯片(注意:这里一定要连接好调式器!)

我的打开串口助手设置为:115200,8,N,1

可以看到输出:

说明串口通讯正常。

七、点亮LED

首先注意板子的LED线没有连接到任何的PIN上,需要将线连接到PA0端口

看到了吧!线没有接,我找了一条线把PA0和LED1接上。将程序拷贝到我的项目。

/********************************** (C) COPYRIGHT *******************************
* File Name          : main.c
* Author             : WCH
* Version            : V1.0.0
* Date               : 2020/04/30
* Description        : Main program body.
*******************************************************************************/

/*
 *@Note
 GPIO例程:
 PA0推挽输出。
 
*/

#include "debug.h"

/* Global define */


/* Global Variable */


/*******************************************************************************
* Function Name  : GPIO_Toggle_INIT
* Description    : Initializes GPIOA.0
* Input          : None
* Return         : None
*******************************************************************************/
void GPIO_Toggle_INIT(void)
{
  GPIO_InitTypeDef  GPIO_InitStructure;

  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);
}

/*******************************************************************************
* Function Name  : main
* Description    : Main program.
* Input          : None
* Return         : None
*******************************************************************************/
int main(void)
{
	u8 i=0;

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    Delay_Init();
	USART_Printf_Init(115200);
	printf("SystemClk:%d\r\n",SystemCoreClock);

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

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

将程序下载到板子,可以看到板子的LED灯开始闪亮了。

 

IMG_1400.JPG

通过阅读开发板的资料发现这颗芯片的总线设计和ARM的总线非常的象,我猜想编程方法也应该相似。

 

 


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表