目录

  • 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录
  • 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录
  • 沁恒CH32F103C8T6(三): PlatformIO DAPLink和WCHLink下载配置

概述

CH32F103系列是沁恒生产的32位Cortex-M3 MCU, 片上集成了时钟安全机制、多级电源管理、 通用DMA控制器等. 具有 2 路 USB2.0接口、多通道 TouchKey、 12 位 DAC 转换模块, 多通道 12 位 ADC、 多组定时器、 CAN 通讯控制器、 I2C/USART/SPI 等丰富的外设资源.

  • 与STM32F103系列芯片相比, 管脚和寄存器兼容, 增加了USB功能, 有2个USB, 一个Host, 一个Device, 增加了DAC, 供电兼容5V
  • Flash下载算法和内部BootLoader和STM32不兼容, 需要使用沁恒提供的算法, 或者使用沁恒的下载软件通过串口和USB下载.

产品特点

  • Cortex-M3内核, 72MHz系统主频
  • 单周期乘法和硬件除法
  • 20KB SRAM, 64KB CodeFlash
  • 供电范围: 2.7V-5.5V, GPIO同步供电电压
  • 多种低功耗模式: 睡眠/停止/待机
  • 上电/断电复位(POR/PDR)
  • 可编程电压监测器(PVD)
  • 7通道DMA控制器
  • 12位模数转换ADC, 1us转换时间
  • 16路TouchKey通道检测
  • 12位数模转换DAC
  • 7个定时器
  • 1个USB2.0 FullSpeed主机/设备接口(全速和低速)
  • 1个USB2.0 FullSpeed设备接口(全速和低速)
  • 1个CAN控制器(2.0B主动)
  • 2个I2C接口(支持SMBus/PMBus)
  • 3个USART接口
  • 2个SPI接口(支持Master和Slave模式)
  • 51个I/O口, 所有IO口都可以映射到16个外部中断
  • CRC计算单元, 96位芯片唯一ID
  • 串行单线调试(SWD)接口
  • 封装形式: LQFP64M、LQFP48、QFN48

Keil MDK 开发环境配置

1. 器件库代码示例和工具下载

  • 下载WCH的EVT包, EVT包中带了CH32F103的器件包和演示代码
    http://www.wch.cn/downloads/CH32F103EVT_ZIP.html
  • 下载ISP下载工具
    http://www.wch.cn/downloads/WCHISPTool_Setup_exe.html

2. 在Keil MDK中添加器件

  • 打开Keil MDK, 点击菜单 Project -> Manage -> Pack Installer
  • 等打开的窗口载入完毕, 点击 File -> Import , 选择Keil.WCH32F1xx_DFP.1.0.1.pack
  • 完成后, 可以在Device Tree上看到 WCH 以及下面的 4 个型号

3. 导入示例项目

EVT包中, EXAM目录下是各个外设的演示代码, 如果要复制到你的工作目录, 务必将 EXAM/SRC 这个目录也复制过去, 在工作目录中保持这个结构

├─GPIO
│  └─GPIO_Toggle
└─SRC├─CMSIS├─Debug├─Startup├─StdPeriphDriver│  ├─inc│  └─src└─USBLIB├─CONFIG└─USB-Driver├─inc└─src

通过Keil MDK的 Project -> Open Project 打开 CH32F10x.uvprojx 文件打开示例项目. 如果左侧文件树没有显示黄三角的警告, 文件载入正常, 就可以编译了.

4. 修改GPIO_Toggle为板载LED(对应C13)的闪灯

将main.c代码替换为以下内容, 代码和STM32F103几乎是一样的

#include "debug.h"void GPIO_Toggle_INIT(void)
{GPIO_InitTypeDef  GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;              GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;           GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOC, &GPIO_InitStructure);
}int main(void)
{NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);Delay_Init();USART_Printf_Init(115200);GPIO_Toggle_INIT();printf("SystemClk:%d\r\n", SystemCoreClock);printf("GPIO Toggle TEST\r\n");while(1){Delay_Ms(250);PCout(13) ^= (1<<0);}
}

烧录/下载

CH32F103 有三种程序下载方式, 分别为:ST-LINK下载, 串口下载与USB下载

通过ST-link下载

  • 将开发板通过ST-link连上电脑
  • 在Keil MDK中, 点击项目配置图标, 打开项目选项, 切换到Debug标签
  • 在Use中选择 ST-Link Debuger
  • 点击右侧的 Settings, 在打开的对话框中, Target Com要选择SW, 此时右侧的SW Device, 应该能看到这个ST-Link的信息, IDCODE为0x2Bxxxxx, Device Name为 ARM CoreSight SW-DP 之类的设备名
  • 在上面打开的对话框中, 切换到Flash Download选项, 如果下面的Programming Algorithm中, 不是CH32F1xx Flash, 需要点击下面的add增加算法, 选择CH32F1xx Flash
  • 还是这个对话框, 记得勾选 Reset and Run选项
  • OK保存

之后, 和STM32的用法一样, 点击F8就可以直接下载

串口下载

1. 硬件连接

Rx  -> A9
Tx  -> A10
GND –> GND
VCC –> 3V3

2. BOOT0设置

跳线BOOT0设置为高电平

3. 使用软件 WCHISPTool 下载

  • 下载方式: 选择串口
  • 使能USB内部上拉电阻: 如果usb有上拉电阻可以不勾选
  • 选择下载串口
  • 选择要下载的HEX或者bin文件
  • 点击下载

USB下载

1. 硬件连接

CH32F103有2个USB口, 一个是主机USB, 一个是设备USB, 分别对应不同的管脚

HUSB

PB7 -> D+
PB6 -> D-

USB

PA12 -> D+
PA11 -> D-

软件默认下载使用HUSB, 可以用一个USB转Dip的小模块和开发板连接

2. BOOT0设置

跳线BOOT0设置为高电平

3. 使用软件 WCHISPTool 下载

  • 下载方式: 选择USB
  • 解除读保护
  • 看到usb设备
  • 选择要下载的HEX或者bin文件
  • 点击下载

参考

  • 国产arm芯片CH32F103芯片开发下载使用简介 https://blog.csdn.net/weixin_41565556/article/details/111619741

沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录相关推荐

  1. 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录

    目录 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录 沁恒CH32F103C ...

  2. 沁恒CH32F103C8T6(三): PlatformIO DAPLink和WCHLink下载配置

    目录 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录 沁恒CH32F103C ...

  3. 国产沁恒CH32F103C8T6使用指南

    国产沁恒CH32F103C8T6使用指南 获取更多内容,请关注微信公众号"电路板上的一抹微笑" 前言: CH32F103芯片是由南京沁恒电子产品公司推出的国产ARM芯片,与STM3 ...

  4. C语言入门系列一之C语言介绍、环境配置和运行执行

    鉴于书本和教材文字过多.又难懂的缺点,所以我打算写一系列通俗移动的C语言入门教程,让大家在短时间内学习和掌握C语言,以及遇到C语言的一些问题该如何得到快速的解决.希望这些系列的教程,能够帮助到大家!该 ...

  5. 学习笔记Flink(五)—— Flink开发环境配置及运行实例(单词计数)

    一.Intellij IDEA 环境配置 1.创建Maven工程 1.1.开发环境 Maven && JDK 1.2.Pom配置 Compiler Configuration 在pom ...

  6. Jetson-Xavier-NX刷机+pytorch环境配置+yolov5运行

    前言:最近在使用英伟达的Jetson-Xavier-NX板子,主要用于机器视觉,将配置的过程在这里记录一下. 目录 一.镜像烧录 1.下载镜像 2.写入镜像 3.开机 4.远程连接 二.环境配置 1. ...

  7. Windows+QtCreater+Opencv环境配置(成功运行)

    不得不说,这个过程踩的坑实在是太多了,今天把这个写下来,以做备用. 目录 一.下载准备 1.QtCreater 2.Opencv 3.cmake 二.软件环境安装 1.Cmake安装 ①安装过程一路n ...

  8. 华芯片特微 M33内核 KEIL5环境配置不上问题

    1 JFLASH连接不上问题 官方手册有说解决这个问题 2  JFLASH能连接上KEIL提示no found sw-dp 在替换keil下载算法后还是提示no found sw-dp 1 怀疑是ke ...

  9. 【tph-yolov5】tph-Yolov5的Pytorch环境配置和运行错误记录

    Tph-Yolov5代码运行记录 1.代码下载地址: guihub下载连接 2.按照read.md说明进行操作 2.1 cuda版本匹配错误 运行val.py文件,提示错误: 可见自动安装的pytor ...

最新文章

  1. Hadoop集群的安全模式
  2. PHP代码静态分析工具PHPStan
  3. AC自动机的使用案例
  4. 高等数学:e的-t平方次方求积分
  5. ECMAScript 新提案:JSON模块
  6. html中文段落,HTML 段落-JavaScript中文网-JavaScript教程资源分享门户
  7. path弧形参数 svg_SVG路径中的A指令(画弧线)
  8. Zookeeper的客户端Curator基本使用
  9. eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法
  10. 吴恩达的21节Deeplearning.ai课程学习经验总结
  11. 微型计算机汇编用什么软件,EMU8086 汇编工具软件的使用
  12. ArcGIS重分类之后统计各类别面积
  13. Mtk touch panel驱动/TP驱动 详解
  14. IOS免越狱安装历史版本APP软件
  15. 北大200页元宇宙报告!六大板块,看20家巨头的元宇宙布局 | 智东西内参
  16. 支付宝app支付签约开通详解,快速开通支付宝APP支付手机网站支付过风险开通,支付宝App支付签约不通过的解决办法。
  17. 柯里化(Curry)
  18. Shapefile属性操作之删
  19. OEM-ODM-OBM
  20. 数据结构--AVL树(全)

热门文章

  1. FJUT 2019暑假第三次周赛 C - 郭先生的魔法阵
  2. 【面试必备】编程学java还是c
  3. matlab开关电源仿真软件,做开关电源,一般用什么仿真软件?
  4. 计算机毕业设计JavaBS高校教师考勤系统(源码+系统+mysql数据库+lw文档)
  5. EDM邮件营销推广方法分享
  6. Google将IP标记为中国,影响表现以及解决方案
  7. java导入excel数据_java使用POI批量导入excel数据的方法
  8. 小明左、右手中分别拿两张纸牌(比如:黑桃10和红桃8,数字10和8可通过键盘录入),要求编写代码交换小明手中的牌
  9. Python自动检查哪位学生未提交作业
  10. 蓝牙4.2 安全连接