沁恒CH32V307单片机入门(01):基础说明与流程体验
文章目录
- 目的
- 基础说明
- 芯片介绍
- 资料与工具
- 开发环境
- 流程体验
- 开发
- 调试
- 下载
- 总结
目的
工作这几年单片机主要就接触过 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或串口进行下载。
使用该方式下载时需要调整 BOOT0
和 BOOT1
引脚外部电平以选择芯片上电时进入的工作模式。对于 CH32V2x 和 CH32V3x 系列而言其 启动配置(自举模式)模式 如下:
BOOT0 | BOOT1 | 启动模式 | 备注 |
---|---|---|---|
0 | 不关心 | 从程序闪存存储器启动 | 正常运行程序的模式 |
1 | 0 | 从系统存储器启动 | 下载使用的模式 |
1 | 1 | 从内部 SRAM 启动 |
对于CH32V307VC而言,USB下载管脚为 PA11 - DM
PA12 - DP
或 PB6 - DM
PB7 - DP
;串口下载管脚为 PA9 - TX
PA10 - RX
。
调整启动模式,连接设备,启动WCHISPStudio软件下载固件,固件为项目目录下的 obj 中的 .hex 格式文件。
下载完成后记得调整启动模式,然后复位设备以运行程序。
在开发测试时可以关闭读保护。如果使用串口下载的话可能无法通过板载的WCH-Link的USB转串口,需要使用另外的串口模块连接单片机相应引脚。
如果使用过程中有其它问题可以尝试重新插拔设备或是重启软件试试。
总结
沁恒CH32V307单片机入门体验还是挺不错的,官方提供了完整的资料、例程,还有IDE可用。这个IDE本身感觉也不错,比同样基于Eclipse的STM32CubeIDE流畅多了。
更多入门内容可以查看接下来的文章《沁恒CH32V307单片机入门(02):官方库与工程模板介绍》:
https://blog.csdn.net/Naisu_kun/article/details/128771603
沁恒CH32V307单片机入门(01):基础说明与流程体验相关推荐
- 沁恒CH32V307单片机入门(02):官方库与工程模板介绍
文章目录 目的 官方库 工程模板 使用例程 总结 目的 现在开发单片机大多数时候都是面向库开发的,这里将简单介绍下CH32V307的官方库. 在开发过程中新建项目时通常会从某些模板开始,模板包含了库和 ...
- Winbond W25Qxx SPI FLASH 使用示例(基于沁恒CH32V307单片机)
文章目录 目的 基础说明 使用示例 总结 目的 Winbond(华邦)的 W25Qxx 系列 SPI FLASH 是比较常用的芯片,这篇文章将演示单片机中通过SPI使用该芯片的操作过程. 本文使用沁恒 ...
- PLC编程入门-01基础知识介绍
PLC编程入门-01基础知识介绍 PLC的组成结构 PLC编程语言: PLC输入输出的特点 输入 输出 PLC的组成结构 简图 明细图 CPU:控制器和运算器本身就是CPU主要组成部分,和PC的CPU ...
- 沁恒CH32V307使用记录:SPI基础使用
文章目录 目的 基础说明 使用演示 其它补充 总结 目的 SPI是单片机中比较常用的一个功能.这篇文章将对CH32V307中相关内容进行说明. 本文使用沁恒官方的开发板 (CH32V307-EVT-R ...
- 沁恒CH32V307使用记录:GPIO与EXTI
文章目录 目的 GPIO(通用输入输出接口) 基础说明 初始化 输出 输入与电平读取 锁定机制 EXTI(外部中断) 基础说明 使用演示 总结 目的 GPIO是单片机最基础的功能,EXTI最常用的场景 ...
- 沁恒CH32V307使用记录:使用TIM输出PWM信号
文章目录 目的 基础说明 使用例程 总结 目的 使用TIM输出PWM信号是单片机中比较常用的一个功能.这篇文章将对CH32V307中相关内容进行说明. 本文使用沁恒官方的开发板 (CH32V307-E ...
- 沁恒CH32V307嵌入式比赛开发心得
开发版介绍 板载资源: CH32V307VCT6 ES8388 音频采集与播放 AP3216C 距离与环境光传感器 (ALS&PS) 128 Mbit 板载 Flash Type-C USB ...
- Java知识系统回顾整理01基础05控制流程07结束外部循环
一.break是结束当前循环 二.结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] ...
- 51单片机入门之四:静态数码管,单片机如何驱动数码管
本文旨在介绍单片机入门的基础知识,为初接触或即将接触单片的新手提供一个入门指导.本文章会陆续推出,隔几天一个章节.所使用单片机为ATMEL公司的AT89C52,软件为PROTEUS和KEIL;只提供原 ...
最新文章
- Python设计模式-解释器模式
- BFE Ingress Controller正式发布!
- halcon 3D Object Model 三维物体模型算子,持续更新
- 化工原理物性参数_化工原理知识点总结整理
- 计算机是如何启动的?从未上电到操作系统启动
- windows2003管理组创建
- 2022年武汉CMMI3-CMMI5认证企业名录
- 网件WNDR4300刷openwrt/LEDE固件
- 灵芝酸大鼠血清白蛋白纳米粒|茯苓酸小麦麦清白蛋白纳米粒雷公藤内酯醇-牛血清白蛋白纳米粒(TRD-BSA NPs)
- 携程校招——携程海洋馆的海豚小宝宝(C++)
- AtCoder Beginner Contest 175 A Rainy Season 字符串+5种情况
- canvas教程大纲
- 强大的装逼,表白,炫富,恶搞短视频制作神器微信小程序源码支持多种流量主
- Coursera | Andrew Ng (02-week-1-1.12)—梯度的数值逼近
- 一文搞懂 Flink 网络流控与反压机制
- 简历 计算机二级技能描述,【技能证书】简历中职业技能的经典描述
- 厉害了!竟然有程序员在GitHub上建了一个新华词典数据库
- iOS 音频边录边播
- 使用redis中的zset进行金牌、银牌、铜牌的排序操作
- Android 音视频编解码(一) -- MediaCodec 初探
热门文章
- c#实现学生考勤系统(附源码和报告)
- 阿里巴巴Java开发 p3c插件使用方法
- 使用WeTest进行App性能测试
- IM1281B单相交流计量模块使用讲解
- 4. Netty+SpringBoot实现IM服务 之 用户与channel绑定
- auto-extending data file /ibdata1 is of a different size 17152 pages (rounded down to MB)
- Starling2.0真的适合手游开发吗
- micropython ble 连接小米温湿度计2 获取数据
- linux拨号上网指令,linux中的pppoe拨号上网
- 计算机系统实验:模型机(十六)另一篇?