国产沁恒ch32f103c8t6使用指南

TonyRen* TonyRen*     2023-01-14     204

关键词:

国产沁恒CH32F103C8T6使用指南

前言:
CH32F103芯片是由南京沁恒电子产品公司推出的国产ARM芯片,与STM32F103系列芯片相比,不仅管脚和寄存器全部兼容,而且还增强了USB功能,有2个USB,一个Host,一个Device,但在flash下载算法和内部BootLoader上和ST公司的兼容性有差别。不能使用ST的下载软件,只能使用沁恒官方提供的软件下载,可以用串口和USB两种方式,USB方式速度更快,不需要开发额外的BootLoader。另外,最突出的是,它是所有同类型芯片中价格相对最低的。

产品特点

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。

选型指南

下面详细介绍开发和下载的过程

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

(一)通过ST-link(SW等仿真工具)下载

1.1开发板连接ST-link
接法与STM32芯片完全相同。
1.2 在keil工程中下载

GPIO_PC13LED工程(工程范例见Tony的CH32私家开发包)为例:
(1)安装器件库,在“Tony的私家开发包”中找到器件库文件(必须安装才能找到器件) Keil.WCH32F1xx_DFP.1.0.0.pack,打开并安装。
(2)打开GPIO_PC13LED工程文件
(3)打开工程文件后,如下图选择器件,这里选择103C8。

(4)连接STlink后,再配置选项中的Debug项选择仿真下载器,如下图。选择好SW后,能够看到内核数值,表示硬件连接正确,否则需要检查硬件连接。

(5)添加算法文件,如图,选择flash download选项页,在该页面内选择add,增加算法,算法选择CH32F1xx Flash,然后确定。

(6)下载
程序编译成功后,点击工具栏的load工具,即可完成下载。如果下载成功,在输出栏会有下载完成提示。

(二)串口下载

(1)硬件连接:
Rx—>A9
Tx---->A10
GND–>G
VCC–>3.3
跳线boot0设置为高电平
(2)软件配置:
1.安装软件:
使用串口下载时要安装官方的专用下载软件WCHISPTool(在“Tony的私家开发包”中可以直接安装),注意ST公司的下载软件不能使用,因为内部BootLoader目前不兼容。
2.配置过程
①选择串口–>②如果usb有上拉电阻可去掉此处------>③选择下载串口号------>④选择要下载的HEX或者bin文件------->⑤下载

(三)USB下载

(1)USB连接
CH32F103有2个USB口,一个是主机usb,一个是设备usb。分别对应的管脚为:
HUSB:PB7------>D+
PB6------>D-
USB:PA12----->D+
PA11----->D-
跳线boot0设置为高电平
软件默认下载使用HUSB,因此可以用一个USB转Dip的小模块和开发板连接。
(2) 软件设置
软件设置过程
①选择USB端口–>②解除读保护------>③看到usb设备------>④选择要下载的HEX或者bin文件------->⑤下载

总结

当初入手CH32其实是因为x宝购货走眼了,以为是STM32,买回来才发现不是。不过既然买了,不能浪费啊,笔者就去官网和参考其他博主的文章进行学习,学了之后发现CH32其实也还行,在这个价位已经很不错了,国货牛x。(郑重声明:不是打广告)
特别感谢以下这篇文章的帮助!

https://blog.csdn.net/weixin_41565556/article/details/111619741

stm32f103c8t6bootloader设计(转)

源:STM32f103C8T6Bootloader设计 STM32F103c8t6通过串口实现IAP在线升级固件 查看详情

stm32f103c8t6最小系统板可以调速吗

参考技术A可以。STM32F103C8T6的单片机最小系统,包括了复位电路、晶振电路、电源排针等单片机工作必要的外围电路,且把常用的引脚全部引出,方便研发人员将本方案嵌入到开发中。本最小系统兼容STM32F103C8T6、STM32F103CBT6等LQFP-... 查看详情

如何在 STM32F103C8T6 上进行裸机 LED 闪烁?

】如何在STM32F103C8T6上进行裸机LED闪烁?【英文标题】:Howtodobare-metalLEDblinkonSTM32F103C8T6?【发布时间】:2021-03-0606:36:36【问题描述】:我刚刚开始探索STM32MCU。我想闪烁BluePill(具有STM32F103C8T6MCU)板上的LED。我怀疑我被什么东西误... 查看详情

stm32f103c8t6

前面认识了之后,到这里就正式开始学习STM32的使用了。在学习之前,我这里先提供一些学习的资料,因为是PDF转换的,可能有乱码什么的,不过还是希望能帮到你。提取码:t4ii百度云盘链接 查看详情

stm32f103c8t6

前面认识了之后,到这里就正式开始学习STM32的使用了。在学习之前,我这里先提供一些学习的资料,因为是PDF转换的,可能有乱码什么的,不过还是希望能帮到你。提取码:t4ii百度云盘链接 查看详情

arduinostm32f103c8t6驱动ssd1306i2coled

ArduinoSTM32F103C8T6驱动ssd1306I2Coled 查看详情

wt901怎么用stm32读取数据

...STM32F103C8T6的串口转换成485的电平和我们的WT901C485去连接使用)在这里插入图片描述WT901C48511在这里插入图片描述STM32F103C8T6112)软件准备:KEIL5(5.17版本的)链接:https://pan.baidu.com/share/init?surl=LQ4KnRPxm_a4Zk7PUZSELA提取码:eq50.2接线方... 查看详情

stm32学习笔记二基于stm32f103c8t6和stm32cubemx实现uart串口通信数据收发(代码片段)

系列文章目录一、基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁二、基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发三、实战小例程基于STM32F103C8T6最小系统板和STM32CubeMX驱动WS2812B光立方四、基于STM32F103C8T6最小系统板... 查看详情

基于stm32f103c8t6最小系统板hal库cubemx驱动hc-sr501红外人体传感模块(代码片段)

系列文章目录一、基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁二、基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发三、实战小例程基于STM32F103C8T6最小系统板和STM32CubeMX驱动WS2812B光立方四、基于STM32F103C8T6最小系统板... 查看详情

基于stm32f103c8t6的智能垃圾桶项目(代码片段)

基于STM32F103c8t6的智能垃圾桶项目写在前头软件配置硬件部分1.主控芯片2.HC-SR04超声波模块模块简介模块参数工作原理GPIO配置3.SG90舵机模块简介模块参数工作原理GPIO配置3.OLED显示屏模块简介模块参数工作原理GPIO配置软件部分HC-SR0... 查看详情

stm32学习笔记一基于stm32f103c8t6最小系统板和stm32cubemx实现板载led灯循环闪烁(代码片段)

系列文章目录一、基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁二、基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发三、实战小例程基于STM32F103C8T6最小系统板和STM32CubeMX驱动WS2812B光立方四、基于STM32F103C8T6最小系统板... 查看详情

stm32f103c8t6使用内部时钟能不能达到64m

手册上说pllmul不会超过9,但是标准库和stm32cubemx均可到达16可以。你在仔细看看手册的时钟部分。追问那为什么我用内部晶振实验的时候pllmul只要超过9单片机就不工作了参考技术A外震荡可以到16,内部的pll只能8,内部震荡是8,... 查看详情

使用mlx90640自制红外热像仪:stm32f103c8t6刷320x240分辨率屏的时间测试(代码片段)

...把320*240个像素点全部刷新一次。现在来测试下stm32f103c8t6使用普通IO刷屏。72M主频的stm32f103c8t6刷TFT,全屏一直刷新测试硬件连接:/*******************************ILI9341显示屏8080通讯引脚定义************************ 查看详情

stm32f103c8t6引脚功能图以及在arduinoide编程环境下引脚调用

stm32f103c8t6引脚功能图以及在arduinoIDE编程环境下引脚调用例如:pinMode(PB1,INPUT); 查看详情

基于stm32f103c8t6最小系统板hal库cubemxspi驱动7针oled显示屏(0.96寸1.3寸通用)(代码片段)

系列文章目录一、基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁二、基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发三、实战小例程基于STM32F103C8T6最小系统板和STM32CubeMX驱动WS2812B光立方四、基于STM32F103C8T6最小系统板... 查看详情

stm32f103c8t6中tim_setcompare1()函数没起作用

  最近使用stm32f103c8t6做控制器,需要实时调整PWM的占空比,由于TIM_SetComparex()是常用的修改PWM占空比的函数。  现象:在主函数里面调用TIM_SetComparex()函数,但是有时候该函数起作用,有时候该函数不起作用。解决... 查看详情

带有 STM32f103c8t6 Bluepill 和 CAN 总线的 HAL_CAN_ERROR_PARAM

...N65HVD230收发器(端接)的CAN总线发送消息。在另一端,我使用终止的USB可以适配器,工作 查看详情

48引脚的stm32f103c8t6,可以用多少个定时器?

32芯片是的,只有2个高级定时器有互补输出,普通和基本定时器都没有。参考技术ATIM1TIM2TIM3TIM4 参考技术B复用功能是不是只能在大容量的芯片上实现?记得C8T6是中容量的 查看详情