打印
[单片机芯片]

一起学习CH32V003教程——降维打击替代STM8的方案

[复制链接]
21817|50
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 lilijin1995 于 2022-12-30 14:00 编辑

#申请原创#

@21小跑堂



一起学习CH32V003教程——降维打击替代STM8的方案结缘CH32V003

2022年9月末,那是一个阳光明媚的午后,天气非常好,预示一件不得了的事情将要发生,果然WCH发布了一款超低成本的单片机CH32V003;

我马上找到WCH的客户经理,一问几个在1元以内,网上说是0.5,听老板说他拿货0.8,然后申请了评估板和样片;因为手头正好有个成本要求高的方案,一开始选型是用HK32F003M的,但是老板想把价格压的更低,所以ch32v003安排上;

于是开始了下面的CH32V003学习过程分析和总结记录;

硬件概述

以下资料摘抄自官网:

https://www.wch.cn/products/CH32V003.html?

概述

CH32V003系列是基于青稞RISC-V2A内核设计的工业级通用微控制器,支持48MHz系统主频,具有宽压、单线调试、低功耗、超小封装等特点。CH32V003系列内置1组DMA控制器、1组10位模数转换ADC、1组运放比较器、多组定时器以及标准通讯接口USART、IIC、SPI等。


系统框图 产品特点
  • 青稞32位RISC-V2A处理器,支持2级中断嵌套
  • 最高48MHz系统主频
  • 2KB SRAM,16KB Flash
  • 供电电压:3.3/5V
  • 多种低功耗模式:睡眠、待机
  • 上/下电复位、可编程电压检测器
  • 1组1路通用DMA控制器
  • 1组运放比较器
  • 1组10位ADC
  • 1个16位高级定时器和1个16位通用定时器
  • 2个看门狗定时器和1个32位系统时基定时器
  • 1个USART接口、1组IIC接口、1组SPI接口
  • 18个I/O口,映像一个外部中断
  • 64位芯片唯一ID
  • 串行单线调试接口
  • 封装形式:TSSOP20、QFN20、SOP16、SOP8

选型指南

基础篇——入坑实例
CH32V003配置GPIO配置推挽输出实现跑马灯:


https://bbs.21ic.com/icview-3259146-1-1.html

CH32V003配置GPIO为上拉输入实现按键输入控制LED翻转:

https://bbs.21ic.com/icview-3260824-1-1.html

CH32V003配置USART实现接收上位机发送过来的数据并回显:

https://bbs.21ic.com/icview-3260832-1-1.html

CH32V003简单介绍EXIT并配置PD0测试EXIT0:
https://bbs.21ic.com/icview-3260838-1-1.html

CH32V003中的IWDG的简单介绍并配置IWDG实现喂狗 https://bbs.21ic.com/icview-3263104-1-1.html

CH32V003实现multiTimer软件定时不准原因与解决方案https://bbs.21ic.com/icview-3272472-1-1.html

CH32V003实现Flash模拟EEPROM的过程分享https://bbs.21ic.com/icview-3275432-1-1.html?author=lilijin1995












使用特权

评论回复
沙发
callhgd| | 2022-10-15 14:58 | 只看该作者
准备小板凳,我们拭目以待,分享楼主的成功经验。

使用特权

评论回复
板凳
xdqfc| | 2022-10-16 10:19 | 只看该作者
这种单片机的汇编指令没有看过,官方的文档介绍中没有提到乘法指令跟除法指令,估计是不能完成硬件乘除法计算的,不知道加减法计算的功能有没有,假如也没有的话,那这个32位跟8位的单片机比,还有何意义,另外目前所有主流单片机的ADC都是12位的,这里来了个10位的,直接降低了档次。

使用特权

评论回复
地板
lilijin1995|  楼主 | 2022-10-16 10:40 | 只看该作者
xdqfc 发表于 2022-10-16 10:19
这种单片机的汇编指令没有看过,官方的文档介绍中没有提到乘法指令跟除法指令,估计是不能完成硬件乘除法计 ...

人家本来就是低端单片机
总之一句话,你不用大把大把人用

使用特权

评论回复
5
xdqfc| | 2022-10-16 15:08 | 只看该作者
lilijin1995 发表于 2022-10-16 10:40
人家本来就是低端单片机
总之一句话,你不用大把大把人用

呵呵,才说了两句就把你急成这样,我没有说不想用啊,主要看要用在什么地方,玩具上用用,估计是可以的。

使用特权

评论回复
6
lilijin1995|  楼主 | 2022-10-16 15:27 | 只看该作者
xdqfc 发表于 2022-10-16 15:08
呵呵,才说了两句就把你急成这样,我没有说不想用啊,主要看要用在什么地方,玩具上用用,估计是可以的。{ ...

没有急哦,开个玩笑,哈哈,辉芒微64个byte都要0.3RMB

使用特权

评论回复
7
xdqfc| | 2022-10-16 15:42 | 只看该作者
本帖最后由 xdqfc 于 2022-10-16 15:49 编辑
lilijin1995 发表于 2022-10-16 15:27
没有急哦,开个玩笑,哈哈,辉芒微64个byte都要0.3RMB

呵呵,总不能自降身价到跟辉芒微PK吧,辉芒微单片机早前曾经用过,原以为可堪大用的,想不到损失惨重,早就在咱的黑名单了,沁恒单片机咱也一直使用着,效果很好,就是现在出来这款,阉割的太严重了点。倒是保留了DMA,也算是一个亮点吧。另外楼主把这款单片机跟HK32F003比,也是糟蹋了这款单片机了,HK32F003的ADC标注的是12位,但是官方文档明确说明真实精度才8位。

使用特权

评论回复
8
William1994| | 2022-10-16 17:10 | 只看该作者
xdqfc 发表于 2022-10-16 10:19
这种单片机的汇编指令没有看过,官方的文档介绍中没有提到乘法指令跟除法指令,估计是不能完成硬件乘除法计 ...

RISC V是没有减法指令的,c语言的减**被编译器变成加补码的加法指令。
比如  i= i-3; 会变成 i=i+(0x10000000-3) = i + 0xFFFFFFFD;  加法溢出就对应减法不溢出; 加法不溢出对应减法溢出。

PIC12C54也是没有乘法指令的,也架不住是一代经典芯片。

使用特权

评论回复
9
njshenxian| | 2022-10-16 20:36 | 只看该作者
xdqfc 发表于 2022-10-16 15:42
呵呵,总不能自降身价到跟辉芒微PK吧,辉芒微单片机早前曾经用过,原以为可堪大用的,想不到损失惨重,早 ...

那工商部门不打假吗?

使用特权

评论回复
10
rgjinxuan| | 2022-10-17 09:32 | 只看该作者
辉芒微就是32 位的价格 以前低价骗客户  现在收割红利

使用特权

评论回复
11
lilijin1995|  楼主 | 2022-10-17 10:54 | 只看该作者
rgjinxuan 发表于 2022-10-17 09:32
辉芒微就是32 位的价格 以前低价骗客户  现在收割红利

其实还好,既然辉芒微产品没有被市场淘汰,那肯定有市场,客户觉得稳定愿意用,然后像ch32v003还在发行阶段,还没被市场接受,我们公司自己产品也不敢量产,先观望一下;避免踩坑

使用特权

评论回复
12
rgjinxuan| | 2022-10-17 13:23 | 只看该作者
fmd 去年那些原厂 代理商 不挣几个亿  几千万都不好意思讲

使用特权

评论回复
13
lilijin1995|  楼主 | 2022-10-17 16:09 | 只看该作者
楼主踩坑了,他们家的CH32V003的TIM1的编码器模式,计数值和计数方向都不对

使用特权

评论回复
14
wangshujun| | 2022-10-18 10:36 | 只看该作者
购买了开发板,两端疫情接力,到现在半个多月了还没发出来呢

使用特权

评论回复
15
xyz549040622| | 2022-10-18 10:51 | 只看该作者
xdqfc 发表于 2022-10-16 10:19
这种单片机的汇编指令没有看过,官方的文档介绍中没有提到乘法指令跟除法指令,估计是不能完成硬件乘除法计 ...

主题都说了,价格是优势,有好多应用,对运算没有啥要求的。

使用特权

评论回复
16
Kelan| | 2022-10-18 11:26 | 只看该作者
nice!
这个芯片有或类似的EEPROM可存储读写吗? 有范例?

使用特权

评论回复
17
lilijin1995|  楼主 | 2022-10-18 15:23 | 只看该作者
Kelan 发表于 2022-10-18 11:26
nice!
这个芯片有或类似的EEPROM可存储读写吗? 有范例?

有FLASH_Program,没有EEPORM的10万次,寿命80K次

使用特权

评论回复
18
TECH43| | 2022-10-18 16:29 | 只看该作者
lilijin1995 发表于 2022-10-17 16:09
楼主踩坑了,他们家的CH32V003的TIM1的编码器模式,计数值和计数方向都不对 ...

您好,当使用V003的TIM1的编码器模式时,有以下注意事项
首先PA1是外部晶振引脚,所以你使用的时候,需要将时钟切换为内部晶振;
其次,您用的应该是我们的官方EVT的板子,当使用内部晶振的时候,PA1和PA2与板子上面的排针是处于断开的状态,所以你用的时候需要将R5短接后才能正常使用PA1引脚。测试程序可以见附件,我们这边已经验证无误,如仍有疑问,可以和我邮箱联系  hwh@wch.cn  
[url=][/url]

image.png (26.64 KB )

image.png

CH32V003 -encode.zip

471.91 KB

使用特权

评论回复
19
lilijin1995|  楼主 | 2022-10-18 16:31 | 只看该作者
TECH43 发表于 2022-10-18 16:29
您好,当使用V003的TIM1的编码器模式时,有以下注意事项
首先PA1是外部晶振引脚,所以你使用的时候,需要 ...

好的,感谢大佬

使用特权

评论回复
20
chenwbs| | 2022-10-18 21:20 | 只看该作者
去哪里申请测试板?这个能USB直接下载程序吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

162

帖子

7

粉丝