02.CH59x入门指南——点亮LED

CH59x入门指南——点亮LED


一、简介

从本文开始,即将一一介绍 CH59x 的相关外设以及使用方法。

从任何一块芯片入门,大家首先都会尝试的就是 点灯,这就好比学习任何一种语言,大家都会先来一句 Hello world 一样。那么约定俗成来讲,本篇文章将介绍 CH59xLED 使用情况。

通过阅读本篇文章你将学到以下内容:

  1. 了解熟悉开发环境以及开发工具
  2. 如何使用 CH59x 点亮 LED

首先需要简单介绍下我所使用的开发环境:

  • Windows 10 x86
  • MounRiver Studio
  • CH592F-R0-1V0开发板

二、准备工作

在这一章节中,将简述开发所使用的硬件以及软件条件,给大家提供参考,在后续的文章中将不会出现类似的赘述,望谅解。

2.1 硬件条件

在我们开始学习其外设使用时,需要购买相应的外设开发板。我这里使用的是沁恒官方的 CH592F-R0-1V0 开发板,如下所示:

在这里插入图片描述

图片来源:CH592系列沁恒蓝牙产品-淘宝网 (taobao.com)

该开发板价格并不算贵,在某宝上也能买到,这里还是推荐大家去 沁恒微电子官方店铺。我这里就不附链接了,大家可以自行搜索下。

另外,大家如果有仿真的需求,需要购买相应的仿真器,我推荐使用 WCH-LinkE 如下所示:

在这里插入图片描述

图片来源:WCH-Link系列沁恒仿真器-淘宝网 (taobao.com)

其各个下载器有不同功能,这个在某宝店铺中有说明,大家不要买错了!!!截至本文撰写时,对于 CH59x 系列芯片,只有 WCH-LinkE 支持下载仿真!!!

当然,如果没有仿真的需求,使用 USB 或者 串口 下载,体验也是非常好的,尤其是沁恒的 USB 下载,这是我用过的较为方便的下载方式,推荐大家尝试!!!

2.2 项目条件

在进行点灯操作之前,需要先准备工程项目,新建项目的步骤在前一篇文中有所解释,这里我再次粘贴出如何建立工程的链接供大家参考:

MounRiver Studio Help

如点击无法跳转可自行复制跳转:http://www.mounriver.com/help

使用官方默认的模板会生成以下结构的文件:

在这里插入图片描述

其中各个文件作用如下所示:

  • LD 文件夹:存放编译相关的 link 文件
  • RVMSIS 文件夹:存放 RISC-V 相关的内核文件
  • Startup 文件夹:存放 CH592 启动文件
  • StdPeriphDriver 文件夹: 存放主要的库文件
  • obj 文件夹:存放编译输出文件
  • User 文件夹:存放 Main.c 文件

当然也可以自己构建自己喜欢的模板格式,这里就不再赘述。看到一篇不错的文,虽然不是 CH59x 系列,但也值得参考,这里贴出链接:

【CH32】| 01——新建工程 | 下载 | 运行 |调试_mounriver studio-CSDN博客

如点击无法跳转可自行复制跳转:https://blog.csdn.net/weixin_43822014/article/details/130741322


三、项目实现

本次实验的主要目的是控制 板载 LED0 的亮灭,在这一章中将对其分为硬件部分和软件部分进行分别介绍,希望能给大家提供一定的参考。

3.1 硬件部分

首先看到原理图,原理图在上一篇文章中提到过,位于资料压缩包中,大家可以找到进行阅读,我这里简单介绍。

如下图所示,在原理图中有两个 LED

在这里插入图片描述

这里应该是原理图没有改过来,所以有两个 LED0,但我们通过对比器件号和开发板得知 D2 对应 LED0D3 对应 LED1

而这两个脚并没有接到芯片上,其分别位于两个排针上,如下所示:

在这里插入图片描述

所以我们实验 需要使用杜邦线将 LED0 接到所需引脚上,这里我选择 PA4

LED0 的位置在开发板上的分布如下所示:

在这里插入图片描述

如图中红色方框选中的位置所示即为本次实验所用到的 LED0

3.2 软件部分

软件部分代码较为简单,如下所示,在 Main.c 中有以下代码:

#include "CH59x_common.h"


int main()
{
    SetSysClock(CLK_SOURCE_PLL_60MHz);              // 设置时钟

    /* 初始化 PA4 */
    GPIOA_ModeCfg(GPIO_Pin_4, GPIO_ModeOut_PP_5mA); // PA4 推挽输出

    GPIOA_SetBits(GPIO_Pin_4);                      // 拉高 PA4 - 灭灯

    while (1)
    {
        GPIOA_InverseBits(GPIO_Pin_4);              // PA4 输出翻转
        mDelaymS(500);                              // 延时 500 ms
    }
}

代码中主要使用了 gpio 库中的相关函数,在对其进行初始化以后,在主循环中翻转 PA4 实现 LED0 的亮灭。同时,为了防止闪烁太快我们无法进行观察,这里还添加了 500ms 的延迟。

3.3 运行结果

首先需要使用杜邦线将 PA4LED0 进行连接,如下图所示:

在这里插入图片描述

烧录下载程序之后,现象如下所示:

在后续将会专门写一篇文章介绍 CH59x 的多种下载方式。当然,在下载的资料的 pdf 中也有相关介绍,大家可以先自己参考。

在这里插入图片描述


四、写在最后

本文介绍了 如何使用 CH59x 点亮 LED。希望能够对大家的学习提供一点帮助。

目前暂时没有考虑整合的打算,所以各位读者如果需要看别的教程,可以点进 专栏 进行查找。在后续的更新中,将会逐步加入各个文章的链接,以便大家快速翻阅。另外源码会逐步开源。

欢迎广大读者提出问题以及修改意见,本人看到后会给予回应,欢迎留言,后续会逐步进行开源!!!
另外,由于文章是作者手打的文字,有些地方可能文字会出错,望谅解,也可私信联系我,我对其进行更改。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值