bigbat 发表于 2021-1-21 17:04

【RISC-V MCU CH32V103测评】初体验点亮LED

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

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

<p>我安装好以后是这样子地。</p>

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

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

<p>四、将调式器的P2X5电缆连接到开发板。<span style="color:#e74c3c;">这个注意该开发板可以由调试器供电</span>。USB-TypeC电缆可以不用连接。</p>

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

<p>六、建立一个新工程,在建立工程时选择芯片的型号&quot;CH32V103C8T6&quot;</p>

<p></p>

<p>&nbsp;</p>

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

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

<p>可以看到输出:</p>

<p>说明串口通讯正常。</p>

<p>七、点亮LED</p>

<p><span style="color:#e74c3c;"><span style="font-size:20px;">首先注意板子的LED线没有连接到任何的PIN上,需要将线连接到PA0端口</span></span></p>

<p></p>

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

<pre>
<code class="language-cpp">/********************************** (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_InitTypeDefGPIO_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, &amp;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));
        }
}
</code></pre>

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

<p>&nbsp;</p>

<p></p>

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

<p>&nbsp;</p>

<p>&nbsp;</p>

piazini 发表于 2023-1-28 16:31

和ARM的总线非常的象,那么恭喜你猜对了,哈哈。代码挺简洁的。
页: [1]
查看完整版本: 【RISC-V MCU CH32V103测评】初体验点亮LED