RISC-V MCU应用开发系列教程之CH32V103
RISC-V MCU应用开发系列教程之CH32V103教程基于沁恒32位通用增强型RISC-V架构MCU CH32V103,力争全面分析CH32V103的每个外设功能及使用方法,手把手教大家玩转RISC-V MCU应用开发。教程侧重于外设功能分析及代码讲解,涉及的相关寄存器等部分可参考沁恒官方提供的资料。
(1) CH32V103数据手册:CH32V103DS0.PDF
(2) CH32V103应用手册:CH32xRM.PDF
(3) CH32V103官方例程:CH32V103EVT.ZIP
教程中使用的CH32V103芯片及开发板资料如下图:
评估板及仿真调试器WCH-Link申请链接:点击申请
集成开发环境MounRiver Studio官网:MounRiver Studio
教程链接
基础篇:
第一章:CH32V103应用教程——新建工程
第二章:CH32V103应用教程——GPIO
第三章:CH32V103应用教程——USART
第四章:CH32V103应用教程——EXTI
第五章:CH32V103应用教程——IWDG
第六章:CH32V103应用教程——WWDG
第七章:CH32V103应用教程——定时器中断
第八章:CH32V103应用教程——PWM输出
第九章:CH32V103应用教程——输入捕获
第十章:CH32V103应用教程——ADC
第十一章:CH32V103应用教程——内置温度传感器
第十二章:CH32V103应用教程——RTC
第十三章:CH32V103应用教程——DMA(存储器到存储器)
第十四章:CH32V103应用教程——硬件I2C读写EEPROM
第十五章:CH32V103应用教程——SPI读写FLASH
第十六章:CH32V103应用教程——后备寄存器(BKP)
第十七章:CH32V103应用教程——循环冗余校验(CRC)
第十八章:CH32V103应用教程——RCC
第十九章:CH32V103应用教程——PWR-睡眠模式
第二十章:CH32V103应用教程——PWR-待机模式
第二十一章:CH32V103应用教程——PWR-停止模式
第二十二章:CH32V103应用教程——触摸按键检测(TKEY)
第二十三章:CH32V103应用教程——读写内部FLASH
第二十四章:CH32V103应用教程——设置FLASH读写保护及解除
第二十五章:CH32V103应用教程——SD卡测试
第二十六章:CH32V103应用教程——FATFS文件系统(SD卡)
拓展篇:
DMA:
第二十七章:CH32V103应用教程——DMA(存储器到外设)
第二十八章:CH32V103应用教程——DMA(外设到存储器)
ADC:
第二十九章:CH32V103应用教程——ADC(单通道DMA读取方式)
第三十 章:CH32V103应用教程——ADC(多通道DMA读取方式)
第三十一章:CH32V103应用教程——ADC-单通道中断读取方式
第三十二章:CH32V103应用教程——ADC-外部触发转换
第三十三章:CH32V103应用教程——ADC-模拟看门狗
第三十四章:CH32V103应用教程——ADC-注入通道管理(自动注入)
第三十五章:CH32V103应用教程——ADC-注入通道管理(触发注入)
第三十六章:CH32V103应用教程——ADC-间断模式
IIC:
第三十七章:CH32V103应用教程——I2C-软件模拟I2C读写EEPROM
第三十八章:CH32V103应用教程——I2C-7位地址模式,主机发送从机接收
第三十九章:CH32V103应用教程——I2C-7位地址模式,主机接收从机发送
第四十 章:CH32V103应用教程——I2C-10位地址模式,主机发送从机接收
第四十一章:CH32V103应用教程——I2C-10位地址模式,主机接收从机发送
第四十二章:CH32V103应用教程——I2C-DMA,主机发送从机接收
第四十三章:CH32V103应用教程——I2C-DMA,主机接收从机发送
第四十四章:CH32V103应用教程——I2C-PEC,主机发送从机接收
第四十五章:CH32V103应用教程——I2C-PEC,主机接收从机发送
SPI:
第四十六章:CH32V103应用教程——SPI-单工通信(1条时钟线和1条双向数据线),主机发送从机接收
第四十七章:CH32V103应用教程——SPI-单工通信(1条时钟线和1条双向数据线),主机接收从机发送
第四十八章:CH32V103应用教程——SPI-单工通信(1条时钟线和1条单向数据线),主机发送从机接收
第四十九章:CH32V103应用教程——SPI-单工通信(1条时钟线和1条单向数据线),主机接收从机发送
第五十 章:CH32V103应用教程——SPI-全双工通信,软件控制NSS模式
第五十一章:CH32V103应用教程——SPI-全双工通信,硬件控制NSS模式
第五十二章:CH32V103应用教程——SPI-CRC校验
第五十三章:CH32V103应用教程——SPI-DMA
TIM:
第五十四章:CH32V103应用教程——TIM-时钟输入选择
第五十五章:CH32V103应用教程——TIM-互补输出和死区插入
第五十六章:CH32V103应用教程——TIM-单脉冲模式
第五十七章:CH32V103应用教程——TIM-输出比较
第五十八章:CH32V103应用教程——TIM-定时器和外部触发的同步
第五十九章:CH32V103应用教程——TIM-定时器同步
第六十 章:CH32V103应用教程——TIM-DMA
USART:
第六十一章:CH32V103应用教程——USART-单线半双工
第六十二章:CH32V103应用教程——USART-硬件流控制
第六十三章:CH32V103应用教程——USART-同步模式
第六十四章:CH32V103应用教程——USART-中断
第六十五章:CH32V103应用教程——USART-多处理器通信
第六十六章:CH32V103应用教程——USART-轮询收发模式
第六十七章:CH32V103应用教程——USART-DMA
补充篇:
第六十八章:CH32V103应用教程——IIC-模拟IIC驱动OLED
第六十九章:CH32V103应用教程——IIC-硬件IIC驱动OLED
第七十 章:CH32V103应用教程——DHT11的应用
第七十一章:CH32V103应用教程——温湿度及RTC显示
第七十二章:CH32V103应用教程——PWM输出-8路
第七十三章:CH32V103应用教程——TIM-编码器模式
第七十四章:CH32V103应用教程——按键控制LED灯
第七十五章:CH32V103应用教程——舵机控制
第七十六章:CH32V103应用教程——USART-数据收发(带缓冲区)
第七十七章:CH32V103应用教程——USART-指令控制LED灯
第七十八章:CH32V103应用教程——USART-空闲中断
第七十九章:CH32V103应用教程——BKP-上电计数
第八十 章:CH32V103应用教程——直流有刷电机按键控制
第八十一章:CH32V103应用教程——中断嵌套
第八十二章:CH32V103应用教程——USB模拟CDC
第八十三章:CH32V103应用教程——USB模拟鼠标键盘设备
第八十四章:CH32V103应用教程——USB模拟U盘
第八十五章:CH32V103应用教程——USB Host
第八十六章:CH32V103应用教程——模拟SPI驱动OLED
第八十七章:CH32V103应用教程——硬件SPI驱动OLED
第八十八章:CH32V103应用教程——步进电机驱动
第八十九章:CH32V103应用教程——FLASH编程
第九十 章:CH32V103应用教程——ADC-DMA-TIM3触发ADC转换
第九十一章:CH32V103应用教程——MPU6050应用
第九十二章:CH32V103应用教程——USART-奇偶校验
第九十三章:CH32V103应用教程——PWM播放音乐(1个TIM)
第九十四章:CH32V103应用教程——PWM播放音乐(2个TIM)
第九十五章:CH32V103应用教程——PWM驱动蜂鸣器
第九十六章:CH32V103应用教程——SysTick中断
第九十七章:CH32V103应用教程——超声波测距
第九十八章:CH32V103应用教程——RTC-脉冲
第九十九章:CH32V103应用教程——IIC-主发从收持续收发
第一零零章:CH32V103应用教程——红外测距
第一零一章:CH32V103应用教程——旋转编码器
第一零二章:CH32V103应用教程——USART-DMA-TC中断
第一零三章:CH32V103应用教程——RCC—HSE/HSI时钟配置
其他:
拓展补充帖:WCHISPTool下载CH32V103
拓展补充帖:MounRiver与WCH-Link升级教程
拓展补充帖:老版本Link WCH-LinkRV升级
拓展补充帖:WCH-Link相关资料汇总
拓展补充帖:串口调试工具
拓展补充帖:F103到V103移植说明
好像测试下RISC- V 的MCU 你们的 RISC- V 是采用芯来定制的IP的么? 昱枫 发表于 2020-10-16 21:39
你们的 RISC- V 是采用芯来定制的IP的么?
IP是沁恒自研的,可以查看他们网站介绍http://special.wch.cn/zh_cn/RISCV_MCU_Index/ 昱枫 发表于 2020-10-16 21:37
好像测试下RISC- V 的MCU
论坛近期会和沁恒合作举办系列活动,赠送CH32V103等RISC-V MCU 评估版 支持一下 难得啊 定时器和PMW为啥不做32位的?
hqgboy 发表于 2020-10-23 13:38
定时器和PMW为啥不做32位的?
你好,V系列为了兼容F系列,因此也都是16位的。
还有,请问一下你具体做什么应用需要用到32位呢?
如果你需要延长定时器周期,可以采用降低单位周期频率的方式;
如果你需要提高精度,可以采用多轮循环方式或定时器级联功能,实现32位的效果; 好消息,好东西,支持支持。。 RISCVLAR 发表于 2020-10-23 15:03
你好,V系列为了兼容F系列,因此也都是16位的。
还有,请问一下你具体做什么应用需要用到32位呢?
如果 ...
步进电机控制。速度很慢,需要PWM周期要大。
不想不停改变预分频。 沁恒的芯片吗? 一路向北lm 发表于 2020-10-30 09:16
沁恒的芯片吗?
对的 好,点赞!!! 麻烦问下,谁有这个芯片Systick的code 这款开发板的主控芯片全称是啥,有选型手册,各个芯片的差异分析吗 有没有这个板子的原理图? cxz_00 发表于 2020-11-9 16:51
有没有这个板子的原理图?
参考CH32V103EVT 中PUB文件夹 王小琪 发表于 2020-11-9 16:21
这款开发板的主控芯片全称是啥,有选型手册,各个芯片的差异分析吗
可参考CH32V103数据手册,上面有手册下载链接,本款开发板芯片型号为CH32V103C8T6 cxz_00 发表于 2020-11-9 16:51
有没有这个板子的原理图?
原理图pdf格式,官方可以下载
海洋无限 发表于 2020-11-9 11:02
麻烦问下,谁有这个芯片Systick的code
你好,你可以参考程序里debug.c文件的代码