沁恒ch32v307单片机入门(01):基础说明与流程体验(代码片段)

NaisuXu NaisuXu     2023-02-05     261

关键词:

文章目录

目的

工作这几年单片机主要就接触过 Atmel、Renesas、Microchip、ST 这些厂家的,最近几年因为内部外部的各种因素单片机的价格和供应都挺不稳定的,将来会发生什么也不好说。另外这些年国内的单片机发展也挺快的。所以准备试试国产的单片机。

基础说明

芯片介绍

这里准备使用南京沁恒的CH32V307为基础进行介绍,这是一款RISC-V架构内核的单片机。我看中它的主要是自带高速 USB PHY 和 ETH PHY ,同时价格也很便宜,某宝上散买十块出头。

图片是R的,V的可用引脚要多些。

这个芯片官方是有开发板的(CH32V307-EVT-R1沁恒RISC-V模块MCU赤兔评估板),某宝官方店铺七十多块钱吧,还送两片芯片。

沁恒的单片机可以使用 WCH-Link 进行调试与下载,如果买官方开发板的话有的开发板是自带WCH-Link的。

芯片详情页:https://www.wch.cn/products/CH32V307.html
沁恒RISC-V产品总览:https://special.wch.cn/zh_cn/RISCV_MCU_Index/

资料与工具

沁恒的芯片比较大的好处是资料几乎都是有中文的。

CH32V303_305_307 数据手册:https://www.wch.cn/downloads/CH32V307DS0_PDF.html
CH32FV2x_V3x 系列应用手册:https://www.wch.cn/downloads/CH32FV2x_V3xRM_PDF.html
CH32V307评估板说明及参考应用例程:https://www.wch.cn/downloads/CH32V307EVT_ZIP.html
WCH-Link 使用说明:https://www.wch.cn/downloads/WCH-LinkUserManual_PDF.html
烧录软件(USB、串口)https://www.wch.cn/downloads/WCHISPTool_Setup_exe.html
烧录软件(WCH-Link)https://www.wch.cn/downloads/WCH-LinkUtility_ZIP.html

开发环境

沁恒的单片机目前官方推荐的是使用 MounRiver Studio ,这是一款 Eclipse 开发的IDE,支持Windows、Linux、MacOS。

MounRiverStudio官网:http://www.mounriver.com/

下载安装完成后(软件初次启动很慢)可以从菜单选择设置为中文:

流程体验

沁恒RISC-V单片机开发调试烧录等相关内容可以参考下面几处:

  • MounRiverStudio帮助中心:http://www.mounriver.com/help
  • CH32V307评估板说明及参考应用例程PUB 目录下的《CH32V30x评估板说明书》文档。

对于IDE的使用也可以参考官方视频:https://www.bilibili.com/video/BV1yL411H7La

开发

使用MounRiverStudio进行开发,新建工程选择合适的模板:

新建工程后默认就会包含开发所需的所有库文件,之后只需要按照功能需求编写相应代码即可。

编写完成后就可以进行编译,然后进行下载或者调试:

调试

调试需要用到 WCH-Link (赤兔评估板是自带的),该工具使用可用参考上面的《WCH-Link使用说明》文档。


SWD接口用于下载和调试;CH32V307的UART1可以和WCH-Link的串口桥接以实现串口转USB功能,方便与电脑通讯。

对于 CH32V10x/CH32V20x/CH32V30x/CH32F10x/CH32F20x ,系列而言SWD接口的引脚对应关系通常为 SWDIO - PA13 SWCLK - PA14

调试方面和很多单片机差不多:

需要注意的是每次修改后需要编译后再进行调试。

这里直接以新建工程后自带的内容进行调试演示:

下载

通过WCH-Link进行下载的话可以直接在 MounRiverStudio 中下载或者使用 WCH-LinkUtility 软件进行下载,没有需要特别注意的内容。

这里主要讲一讲使用 WCHISPStudio(WCHISPTool) 软件通过USB或串口进行下载。

使用该方式下载时需要调整 BOOT0BOOT1 引脚外部电平以选择芯片上电时进入的工作模式。对于 CH32V2xCH32V3x 系列而言其 启动配置(自举模式)模式 如下:

BOOT0BOOT1启动模式备注
0不关心从程序闪存存储器启动正常运行程序的模式
10从系统存储器启动下载使用的模式
11从内部 SRAM 启动

对于CH32V307VC而言,USB下载管脚为 PA11 - DM PA12 - DPPB6 - DM PB7 - DP ;串口下载管脚为 PA9 - TX PA10 - RX

调整启动模式,连接设备,启动WCHISPStudio软件下载固件,固件为项目目录下的 obj 中的 .hex 格式文件。

下载完成后记得调整启动模式,然后复位设备以运行程序。

在开发测试时可以关闭读保护。如果使用串口下载的话可能无法通过板载的WCH-Link的USB转串口,需要使用另外的串口模块连接单片机相应引脚。

如果使用过程中有其它问题可以尝试重新插拔设备或是重启软件试试。

总结

沁恒CH32V307单片机入门体验还是挺不错的,官方提供了完整的资料、例程,还有IDE可用。这个IDE本身感觉也不错,比同样基于Eclipse的STM32CubeIDE流畅多了。

沁恒ch32v307单片机入门(02):官方库与工程模板介绍(代码片段)

文章目录目的官方库工程模板使用例程总结目的现在开发单片机大多数时候都是面向库开发的,这里将简单介绍下CH32V307的官方库。在开发过程中新建项目时通常会从某些模板开始,模板包含了库和初始化代码等内容࿰... 查看详情

沁恒ch32v307单片机入门(02):官方库与工程模板介绍(代码片段)

文章目录目的官方库工程模板使用例程总结目的现在开发单片机大多数时候都是面向库开发的,这里将简单介绍下CH32V307的官方库。在开发过程中新建项目时通常会从某些模板开始,模板包含了库和初始化代码等内容࿰... 查看详情

沁恒ch32v307使用记录:gpio与exti(代码片段)

...EXTI(外部中断)基础说明使用演示总结目的GPIO是单片机最基础的功能,EXTI最常用的场景就是GPIO用于输入时使用。这篇文章将对CH32V307中相关内容进行说明。本文使用沁恒官方的开发板(CH32V307-EVT-R1沁恒RISC-V模块M... 查看详情

沁恒ch32v208:ch32v208的储存结构,启动模式和时钟(代码片段)

...特点,以及通过SDK中的示例代码分析CH32V208的时钟设置目录沁恒CH32V208(一):CH32V208WBU6评估板上手报告和Win10环境配置沁恒CH32V208(二):CH32V208的储存结构,启动模式和时钟CH32V存储容量命名方式在介绍下面的内容前,先看一下CH32V系列和存... 查看详情

沁恒risc-vmcu为全国大学生智能汽车竞赛加速(代码片段)

...,及集成上述接口的连接型/互联型/无线型全栈MCU+单片机。▲图1.1第十六届智能车竞赛现场 §02样品申请  为更好的支持同学们参与全国大学生智能汽车竞赛,沁恒微电子为每个参赛学校免费提供1个WCH-Link、10片CH32V... 查看详情

第十七届全国大学生智能汽车竞赛沁恒微电子芯片推荐(代码片段)

...能车竞赛 §01主控MCU  32位自研RISC-V内核工业级互联型单片机CH32V307。  CH3 查看详情

沁恒risc-vmcu为全国大学生智能汽车竞赛加速(代码片段)

...0c;单车越野组和完全模型组也可以选择使用沁恒微电子的单片机。为更好的支持广大高校的同学们参赛,沁恒在为大赛提供经费赞助支持的同时,还为各参赛高校准备了免费样片CH32V307和免费调试器WCH-LinkE供大家申请。 ... 查看详情

沁恒ch552usb学习之旅

学习目标:学习单片机USB开发,了解USB底层前期准备:参考书籍和资料: 1、《圈圈教你玩USB》,绝对的经典,入门USB不二之选! 2、《圈圈教你玩USB》,绝对的经典,入门USB不二之选! 3、... 查看详情

第十七届ch32v307多车组头尾双车摄像头传统扫线循迹

一.传统的扫线循迹,网上的资料繁杂,开源资料或者博客破碎化1.我于2021年10份正式接触摄像头,在到最终比赛期间,遇到了不少困难和迷惑的地方,接下来我会阐述摄像头小车整个从图像处理到实现循迹的... 查看详情

单片机成长之路(51基础篇)-007ch340ch341最全说明

pmargin-bottom:0.25cm;direction:ltr;line-height:120%;text-align:justify;orphans:0;widows:0比较全的CH340,CH341应用说明CH340以前用USB转串口时图方便一般也都是直接买现成的USB转串口模块,但是后面设计需要,不等不将CH340这个模块集成到电路板中,... 查看详情

freertos入门(01):基础说明与使用演示(代码片段)

...作系统(RealTimeOperatingSystem)。本文将介绍FreeRTOS入门使用相关内容,这篇是第一篇,主要介绍基础背景方面的内容。FreeRTOS官网:https://www.freertos.org/(网站现在已更新中文)Real-timeoperatingsystemformicrocont... 查看详情

node.js入门01:基础使用与说明(代码片段)

文章目录前言下载与安装入门使用运行JavaScript代码简单的web服务器示例内置功能调试代码异步操作与事件循环为什么需要异步操作实现自己的异步操作事件循环总结前言传统的来说JavaScript是运行在浏览器中的网页上的脚本语言&... 查看详情

国产沁恒ch32f103c8t6使用指南

国产沁恒CH32F103C8T6使用指南前言:CH32F103芯片是由南京沁恒电子产品公司推出的国产ARM芯片,与STM32F103系列芯片相比,不仅管脚和寄存器全部兼容,而且还增强了USB功能,有2个USB,一个Host,一个Device&#x... 查看详情

freertos入门(02):任务基础使用与说明(代码片段)

...创建与使用相关的基础内容。本文接上篇:《FreeRTOS入门(01):基础说明与使用演示》创建任务创建任务主要使用xTaskCreate这个函数://创建成功会返回pdPASS(1),失败通常返回errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY(-1... 查看详情

ch559l单片机入门篇通过串口打印内部id信息(代码片段)

【CH559l单片机入门篇】通过串口打印内部ID信息✨本示例基于Keil开发环境下开发。相关篇《【硬件开源电路】CH559L开发板和CH55x_DAP-Link二合一开发板分享》相关的CH559L参考案例在官网有下载:https://www.wch.cn/download/CH559EVT_ZIP.htm... 查看详情

沁恒ch32学习——risc-v架构学习笔记

作为新手第一次接触RISC-V架构时。我首先百度简单了解了ARM架构和RISC-V架构的区别,以我个人的理解是ARM架构代表之前的复杂指令集,而RISC-V架构代表着精简指令集。就比如说同样是一个舞蹈动作,复杂指令集可能会... 查看详情

ch559l单片机串口下载程序说明(代码片段)

【CH559L单片机】串口下载程序说明📌相关篇《【硬件开源电路】CH559L开发板和CH55x_DAP-Link二合一开发板分享》📢CH559L单片机想通过串口来实现程序的烧录,折腾了我2天了,一直是失败,没有成功过一次,... 查看详情

risc-v指令学习笔记(基于ch32v103)(代码片段)

文章目录RISC-V指令学习笔记(基于CH32V103)一、指令结构分类二、寄存器功能三、加载存储指令四、算数运算指令五、移位指令六、逻辑操作指令七、跳转指令7.1条件跳转7.2无条件跳转八、比较判断九、CSR操作指令RISC-V指... 查看详情