68336016 发表于 2021-3-25 11:24:23

沁恒的ch32替换stm32,坑多不?很少人看到有人聊这芯片

沁恒的ch32替换stm32,坑多不?
很少人看到有人聊这芯片,淘宝还是几块钱一个。

shuiluo2 发表于 2021-3-25 11:58:21

本帖最后由 shuiluo2 于 2021-3-25 11:59 编辑

试过一片,商家说要用ST llink烧,JLINK烧不起来。但是我STLINK也没烧起来,不知道怎么回事,先放一边了。

淘宝商家说,ADC如果用DMA,要改代码。反正不能直接用吧,所以价格现在还不算贵。

68336016 发表于 2021-3-25 12:02:11

shuiluo2 发表于 2021-3-25 11:58
试过一片,商家说要用ST llink烧,JLINK烧不起来。但是我STLINK也没烧起来,不知道怎么回事,先放一边了。
...

我查了下网上文章,STLINK是烧不了的,但是JLINK应该可以,我也买了几片,准备试一试

shuiluo2 发表于 2021-3-25 12:03:20

68336016 发表于 2021-3-25 12:02
我查了下网上文章,STLINK是烧不了的,但是JLINK应该可以,我也买了几片,准备试一试 ...

我试过CH的,JLINK选STM32F103C8T6,烧录不进去。APM可以直接JLINK烧。

68336016 发表于 2021-3-25 12:09:14

shuiluo2 发表于 2021-3-25 12:03
我试过CH的,JLINK选STM32F103C8T6,烧录不进去。APM可以直接JLINK烧。

烧录时候的确不能跟STM32一样,得选CH32才行,网上看到的

PowerHUB 发表于 2021-3-25 12:21:54

usb兼容性怎么样

jingwaner 发表于 2021-3-25 13:42:02

买了两片样品,还没有测试。。。
WCH做了很多USB产品,不至于在这个上面翻车吧

shuiluo2 发表于 2021-3-25 15:56:26

68336016 发表于 2021-3-25 12:09
烧录时候的确不能跟STM32一样,得选CH32才行,网上看到的

那看来要用新版本的,然后选CH32

jufr12315 发表于 2021-3-26 10:40:29

shuiluo2 发表于 2021-3-25 11:58
试过一片,商家说要用ST llink烧,JLINK烧不起来。但是我STLINK也没烧起来,不知道怎么回事,先放一边了。
...

试了一下st的工程,ADC用了DMA,能用,但是读出来的值跟st的有点区别。

68336016 发表于 2021-3-26 12:12:44

这个烧录不像STM32那么方便,估计也是一个优势,批量化的产品不太可能用它替换,用的人不会很多,炒芯片的看不上,不会价格暴涨。

cloudxxcloud 发表于 2021-3-26 13:14:43

用的少 才不会暴涨

TadhgH 发表于 2021-3-26 16:40:42

这周也入了两块准备调下试试,沁恒官网上是有自己的pack包,好像还有自己的wch link... 之前试过ch579只能生成hex用他们的软件下载工具,希望103的下周拿到手能直接jlink用起来吧

vtte 发表于 2021-3-26 17:30:23

TadhgH 发表于 2021-3-26 16:40
这周也入了两块准备调下试试,沁恒官网上是有自己的pack包,好像还有自己的wch link... 之前试过ch579只能 ...

ch579可以用jlink下载啊。不过要自己编辑一下jlink的配置文件,把芯片型号和编程算法文件加进去。

68336016 发表于 2021-3-26 21:49:52

本帖最后由 68336016 于 2021-3-27 00:13 编辑

果然ADC用了DMA后,STM32的代码是没法正常运行的,但是看CH32的例程,又对比不出有什么不同。

补充:
大概搞清楚了,如果开启内部温度传感器和参考电压 ADC_TempSensorVrefintCmd(ENABLE),就不能用来测量其他ADC_IN引脚的电压,此时各个引脚测量到一个相近的值(接近内部参考电压)。
不开启内部温度传感器和参考电压,就可以正常测量各个ADC_IN引脚电压。

68336016 发表于 2021-3-27 11:17:53

在官方论坛发帖咨询,回复的结果跟我想的一样,如果ADC不用DMA,影响不大,来回使能失能内部温度传感器和参考电压就行,这样内部和外部都能测量。
但是如果用DMA的话,就有些费事了,估计得开启DMA中断,在中断里切换内部测量和外部测量了。

68336016 发表于 2021-3-29 23:00:59

今天试了下用openblt BootLoader来更新固件操作,ch32采用的是兼容stm32方式的16位编程方式,也就是直接用stm32的工程,没有修改为ch32快速编程方式。
更新固件后不会跳转到APP,于是查原因,发现一个写FLASH的操作,STM32要30多ms,CH32要700多ms,一些超时机制得跟着修改才行。
ch32说是有快速的128字节编程方式,但是为了兼容STM32操作,就不想改太多,只是没想到16位编程时候,时间差异会这么大。

jufr12315 发表于 2021-3-29 23:40:06

我也试了flash,如果不改stm32的,能写,很慢。

szjqt 发表于 2021-3-30 00:10:27

能不用尽量不用。我测试的结果:
1.BIN直接烧录,必须用专用的脱机烧录器,STLINK可烧,差不多1分钟1片,奇慢无比。
2.keil调试,需要加载CH专用的flash算法,就是上面网友的图里设置的那样,否则调试会进入超时。
3.在stm32的工程下选不了WCH的芯片。原因不名,用WCH给的SDK打开后可以选,但是少了很多keil原来的芯片型号,这个无所谓,但是,所有的STM32包含的头文件,要换成CH32的,否则很多寄存器的名字对不上,一个一个改相当麻烦。
4.都成功了,编译也过了。flash的写速度让人受不了,是普通人都能感觉到的慢,保存flash会停顿一下。相当不爽。电话南京给了个改的例子,不过是批量写,他们搞了个_fast的函数,也就是批量写入,而且只支持128字节。多了要自己管理。改太麻烦。
5.费了半天劲改成功了。boot过不去。如果是直接烧stm的工程,bootloader可以启动后面的代码段。而用ch的工程重新编译后,单独都能正常跑,bootloader也能加载后面的段,但是加载完就死。没治了,找不到原因。最后直接烧st的工程,然后让客户忍受一下保存时的顿挫。
用到的资源,DMA+ADC,Timer1,2, Usart,
价格便宜点也是有道理的。

szjqt 发表于 2021-3-30 00:11:27

jufr12315 发表于 2021-3-29 23:40
我也试了flash,如果不改stm32的,能写,很慢。

改了也一样慢,除非用他自己的fast函数,但是只能128字节存。

fenglove 发表于 2021-3-30 07:18:12

请教一下,ch579 能替换STM32F107吗?我用到以太网和串口

mainbp 发表于 2021-3-30 07:25:17

68336016 发表于 2021-3-25 12:09
烧录时候的确不能跟STM32一样,得选CH32才行,网上看到的

我试了一下,mdk里面jlink识别不到芯片呀,用的官方例程。

68336016 发表于 2021-3-30 07:38:29

mainbp 发表于 2021-3-30 07:25
我试了一下,mdk里面jlink识别不到芯片呀,用的官方例程。

那个PACK包安装了么,就是例程压缩包里的一个文件

68336016 发表于 2021-3-30 07:43:43

fenglove 发表于 2021-3-30 07:18
请教一下,ch579 能替换STM32F107吗?我用到以太网和串口

28PIN的CH579我用过,给自己家做个连网口小东西,一开始10次有9次上电都不能正常启动完毕。
不过后来官方将网络库静悄悄地更换了,无意中发现了,替换之后暂时一切正常了。

windboy 发表于 2021-3-30 10:22:44

我们目前在测试CH32F103C8T6,直接烧STM的HEX,串口没有跑起来,下载速度超慢。

68336016 发表于 2021-3-30 10:26:10

windboy 发表于 2021-3-30 10:22
我们目前在测试CH32F103C8T6,直接烧STM的HEX,串口没有跑起来,下载速度超慢。

我usart1, usart2, usart3都试过能用,也是用stm32工程直接生成的固件。

vtte 发表于 2021-3-30 10:31:28

fenglove 发表于 2021-3-30 07:18
请教一下,ch579 能替换STM32F107吗?我用到以太网和串口

只用网络和串口的话可以替换,但是要注意ch579的MTU只有540字节左右。

wshtyr 发表于 2021-3-30 10:34:26

68336016 发表于 2021-3-30 07:43
28PIN的CH579我用过,给自己家做个连网口小东西,一开始10次有9次上电都不能正常启动完毕。
不过后来官方 ...

579的Flash好像速度正常?
照理用的应该是同一个IP啊,不会差这么多的

不过CH32系列太新了,感觉至少要一两年后才能稳定吧

fenglove 发表于 2021-3-30 10:46:03

vtte 发表于 2021-3-30 10:31
只用网络和串口的话可以替换,但是要注意ch579的MTU只有540字节左右。

收到,谢谢

竹丘电子 发表于 2021-3-30 11:50:56

顶一下{:biggrin:}

蓝蓝的恋 发表于 2021-3-30 12:38:58

68336016 发表于 2021-3-25 12:02
我查了下网上文章,STLINK是烧不了的,但是JLINK应该可以,我也买了几片,准备试一试 ...

STlink是可以的,前提是先用JLINK烧写一次{:lol:}

68336016 发表于 2021-3-30 12:41:03

蓝蓝的恋 发表于 2021-3-30 12:38
STlink是可以的,前提是先用JLINK烧写一次

芯片还有破处的说法?{:funk:}

蓝蓝的恋 发表于 2021-3-30 12:48:35

68336016 发表于 2021-3-30 12:41
芯片还有破处的说法?

好像是需要先解除保护,直接用stlink确实不能识别,用jlink擦除一下,以后就可以用stlink了,比较麻烦,我现在是直接用DAPlink

Kengcc 发表于 2021-3-30 13:16:50

USB功能代码需要改吗

shuiluo2 发表于 2021-3-30 14:32:38

我的应用按楼主改法,可以用,我用keil5+jlink直接烧,好像不要先擦除

这片子只能有部分人可以用,倒是也是好事,炒不起来。终于可以缓口气了。

68336016 发表于 2021-3-30 16:23:26

Kengcc 发表于 2021-3-30 13:16
USB功能代码需要改吗

我刚刚试了CH32的USB虚拟串口,直接STM32的代码烧录进去,能正常跑起来跟电脑通讯。

68336016 发表于 2021-3-30 16:24:43

PowerHUB 发表于 2021-3-25 12:21
usb兼容性怎么样

只试了虚拟串口,没问题,其它模式估计也正常。

Kengcc 发表于 2021-3-30 16:39:35

68336016 发表于 2021-3-30 16:24
只试了虚拟串口,没问题,其它模式估计也正常。

需要改pcb不?{:lol:}

68336016 发表于 2021-3-30 16:41:06

Kengcc 发表于 2021-3-30 16:39
需要改pcb不?

要改PCB就更没人用了

mainbp 发表于 2021-3-30 20:06:02

本帖最后由 mainbp 于 2021-3-30 20:07 编辑

我的这个jlink 识别不到,因为jlink 支持的型号里面有没CH的芯片,你们是怎么使用的?

68336016 发表于 2021-3-30 20:11:06

mainbp 发表于 2021-3-30 20:06
我的这个jlink 识别不到,因为jlink 支持的型号里面有没CH的芯片,你们是怎么使用的?
...

点击OK,然后选个 cortex-m3就行,这个工程就能记住这设置了

mainbp 发表于 2021-3-30 20:49:08

68336016 发表于 2021-3-30 20:11
点击OK,然后选个 cortex-m3就行,这个工程就能记住这设置了

谢谢,可以了。{:handshake:}

68336016 发表于 2021-4-1 11:58:44

本帖最后由 68336016 于 2021-4-1 11:59 编辑

{:lol:}问厂家说10片起售,我就说买100片踩踩坑做样机试试。
然后厂家说没货了,可能觉得我买得少吧,可是万一不好用买多了也是浪费自己的钱。
淘宝价格实在的店铺,写着45天内发货,其它店铺几乎都是一买就加价类型。

还是STC实在量多量少不歧视。
本来淘宝买点STC15,拍下多嘴一句问卖家不会改价了吧,立刻跟我说是得加价,然后改成1.5倍了。
于是我就跟论坛上STC的人买,转账发货,不用讲价省事得很。

mainbp 发表于 2021-4-1 12:45:02

那我也不测了,换stc

foric 发表于 2021-4-4 13:35:49

STC为啥不出arm?

qidiao007 发表于 2021-6-4 13:42:50

我买了10片用了2片 最后还是高价买st的去了{:huffy:}

vtte 发表于 2021-6-4 14:12:47

qidiao007 发表于 2021-6-4 13:42
我买了10片用了2片 最后还是高价买st的去了

是ch32吗?说说你的故事。

诺飞 发表于 2022-5-14 22:59:52

用CH32F103C8T6量产了大半年吧,很稳定。写Flash要用CH32自己的算法才快,用兼容STM32的算法死慢。就改下了下bootloader的flash算法,直接用STM32的HEX,跑起来一点问题都没,也没见坏过。这个应该是现在最便宜的兼容STM32的芯片了。

诺飞 发表于 2022-5-14 23:03:53

shuiluo2 发表于 2021-3-25 11:58
试过一片,商家说要用ST llink烧,JLINK烧不起来。但是我STLINK也没烧起来,不知道怎么回事,先放一边了。
...
(引用自2楼)

JLINK烧录没问题的,是烧录大文件需要几分钟,给了你写不进去的错觉。

zchong 发表于 2022-5-15 08:20:50

现在主推F2系列了吧,估计是103系列太卷,没意思啦

snowy 发表于 2022-5-15 08:38:14

Ch32v103啊 便宜

shuiluo2 发表于 2022-5-15 19:39:01

诺飞 发表于 2022-5-14 23:03
JLINK烧录没问题的,是烧录大文件需要几分钟,给了你写不进去的错觉。
(引用自48楼)

对,之前没注意要用CH的算法,不能用Jflash直接烧。

tangmin 发表于 2022-5-15 23:21:38

正在用v103,也有碰到慕名奇怪的问题

ahfong2006 发表于 2022-5-16 09:48:21

tangmin 发表于 2022-5-15 23:21
正在用v103,也有碰到慕名奇怪的问题
(引用自52楼)

什么问题能说说看吗,后来者可以少踩坑{:lol:}

tangmin 发表于 2022-5-16 12:14:40

ahfong2006 发表于 2022-5-16 09:48
什么问题能说说看吗,后来者可以少踩坑
(引用自53楼)

暂时只碰到一个在大循环里加一个delay才能运行其他代码!

ahfong2006 发表于 2022-5-16 12:36:57

大概看过它的SDK,没有采用抢占式任务调度,所以需要适时放弃CPU占用让别的任务运行

tangmin 发表于 2022-5-21 20:37:01

ahfong2006 发表于 2022-5-16 12:36
大概看过它的SDK,没有采用抢占式任务调度,所以需要适时放弃CPU占用让别的任务运行 ...
(引用自55楼)

没有吧,在"FreeRTOSConfig.h"中配置#define configUSE_PREEMPTION                        1不就行了,暂时只用到队列还比较正常!

zzsczz 发表于 2023-12-17 15:17:59

芯片就是黑盒子么,全是坑。

st迭代了十多年把stm32的坑平掉了,路上的炮灰数不清,标准外设库可以坑走一票玩家,好不容易练熟了新款不支持。现在是cubemx+hal,ll。

不改开发流程,芯供应商用旧套路,没人陪着试错,只能是坑
页: [1]
查看完整版本: 沁恒的ch32替换stm32,坑多不?很少人看到有人聊这芯片