搜索
bottom↓
回复: 79

分享一个CH552的Arduino开发包

  [复制链接]

出0入309汤圆

发表于 2020-6-17 06:35:20 | 显示全部楼层 |阅读模式
https://github.com/DeqingSun/ch55xduino

CH552价钱便宜,支持USB。只是51核心支持的编译器少,而且每次烧程序需要按按钮不方便。ch55xduino把编译器和核心库打包成Arduino安装包,直接支持USB串口,可以一键编译和烧录。

0.0.2版已发布。
支持绝大多数Arduino函数(尚不包括pulse, shift, tone)。暂时不直接支持USB串口外的其他USB设备模拟,下个版本会支持。
自带SPI库
自带触摸按键库,电容基准自动调整。

还带一个CH552小板设计。嘉立创5元打板+同名商城买3块钱零件就可以愉快地测试了。





安装JSON在
https://raw.githubusercontent.co ... no_mcs51_index.json

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入309汤圆

 楼主| 发表于 2020-7-5 10:08:34 | 显示全部楼层
cantonguy 发表于 2020-6-17 08:06
能否支持HID键盘及多国语言?

现在的版本可以了。而且HID代码在用户程序文件夹里,可以随便改。

出0入309汤圆

 楼主| 发表于 2020-7-6 04:09:43 | 显示全部楼层
tang_qianfeng 发表于 2020-7-6 04:00
ch552的rom擦写寿命太短,只有上百次

数据手册是200次没错。但是我手上的芯片开发至少有500次以上,还没出现校验出错。不要把开发用片子当最终产品就行。

出0入309汤圆

 楼主| 发表于 2020-7-25 01:07:45 | 显示全部楼层
更新0.0.5版本。包含一个CMSIS-DAP例子。不是最快的DAP,但说不定是最便宜的。

https://github.com/DeqingSun/ch5 ... es/05.USB/CMSIS_DAP

配图是用CH552调试Arduino Zero。用Arduino环境测试烧写4KB/S,读取10KB/S。我在时钟上加了1us延迟,应该还是大有优化空间。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入309汤圆

 楼主| 发表于 2020-10-10 22:52:08 | 显示全部楼层
散吧散吧 发表于 2020-10-10 21:59
请楼主确认下安装的json路径是不是有问题,现在我是在包管理器中找不到呀?难道是要科学访问? ...

你看一下
https://raw.githubusercontent.co ... no_mcs51_index.json
是不是用浏览器能打开?里面的压缩包能不能下载。
要是不能我看看搞一个镜像。

出0入309汤圆

 楼主| 发表于 2020-10-11 00:22:11 | 显示全部楼层
散吧散吧 发表于 2020-10-11 00:15
因为不清楚其中的包的配置过程和存放路径,实在不行能否指导下手动安装流程,手动安装算了? ...

手动安装并不方便。Arduino会改好几处文件名。手动安装包因为生成方式不大一样,我就没准备。

出0入309汤圆

 楼主| 发表于 2020-10-11 09:33:56 | 显示全部楼层
散吧散吧 发表于 2020-10-11 09:25
几天我又做了一个实验,发现即使我故意把preference中的json路劲写错,然后从新打开环境进入包管理界面也 ...

我的application.log确实都是有记录的。你要不试试把preference也删掉。
再不行就换台电脑吧。

出0入309汤圆

 楼主| 发表于 2020-10-11 21:06:08 | 显示全部楼层
散吧散吧 发表于 2020-10-11 17:16
不好意思,犯了一个低级错误,错误理解了arduino的开发板管理和包管理,我之前一直是在包管理中搜索的, ...

好的,那看起来不需要做GITHUB镜像,可以直连。

出0入309汤圆

 楼主| 发表于 2020-10-11 21:31:29 | 显示全部楼层
wx85105157 发表于 2020-10-11 21:17
大佬  这个包什么时候支持usb转串口呢?

转串口当然是默认支持,USB默认是CDC,可以改成别的。

出0入309汤圆

 楼主| 发表于 2020-10-11 21:32:27 | 显示全部楼层
散吧散吧 发表于 2020-10-11 21:24
因为特殊原因,访问需要开启科学上网,如果没有科学上网可能更新不下来,如果方便可以在国内的类似github ...

我试试GITEE,麻烦一点的就是它不会把release搬过去。

出0入309汤圆

 楼主| 发表于 2020-10-11 23:56:06 | 显示全部楼层
散吧散吧 发表于 2020-10-11 21:24
因为特殊原因,访问需要开启科学上网,如果没有科学上网可能更新不下来,如果方便可以在国内的类似github ...

你试一下
http://deqings.gitee.io/ch55xdui ... 51_index_gitee.json
能不能访问。GITEE的反爬虫似乎丧心病狂,基本只认浏览器。
如果还不行我得换个平台。

出0入309汤圆

 楼主| 发表于 2020-10-12 00:01:17 | 显示全部楼层
散吧散吧 发表于 2020-10-11 21:52
请教一个问题,arduino默认是很多库使用的是c++,显然在实际你开发过程中使用了一些技巧,这个我看在你参 ...

原作者的域名挂了。
我这里的fork倒是还能看。
https://deqingsun.github.io/ch55xduino/api/migration/

出0入309汤圆

 楼主| 发表于 2020-10-12 00:03:01 | 显示全部楼层
wx85105157 发表于 2020-10-11 21:54
我的意思是我可以用这个代码,把串口数据重定向到SPI输出么?这样pc那还是串口,到单片机上  就是spi  去 ...

按照ADXL345SPI这个例程改就可以。

出0入309汤圆

 楼主| 发表于 2020-10-23 22:02:28 | 显示全部楼层
古调独弹 发表于 2020-10-23 15:41
感谢分享这么方便的开发工具,有点问题请教楼主,在GITHUB上下的0.0.6版,在CH552上烧写好05.USB下的CMSIS- ...

我没有Keil可以测试。但猜测是序列号问题或者是PID/VID问题。可能Keil有特殊要求。
https://www.keil.com/support/docs/3776.htm

出0入309汤圆

 楼主| 发表于 2020-10-24 06:54:18 | 显示全部楼层
Keil家用的是以下的ID
VID 0xc251: Keil Software
PID 0xf001: LPC-Link-II CMSIS_DAP
PID 0xf002: OPEN-SDA CMSIS_DAP (Freedom Board)
PID 0x2722: Keil ULINK2 CMSIS-DAP

我手头技小新的版本用的是F001的那个。你试试改改USBconstant.c里DevDesc这个数组。
序列号倒是有,在SerDes里。如果还不认可以试试把16进制字符外的字符去掉。

出0入309汤圆

 楼主| 发表于 2020-10-26 22:33:31 | 显示全部楼层
古调独弹 发表于 2020-10-26 22:23
推荐是指推荐哪款stm32开发板当arduino板用吗?最便宜的就是X宝上的STM32F103小板了,这里有具体的使用方 ...

这篇文章私货也太多,直接用Arduino IDE搭配rogerclarkmelbourne/Arduino_STM32直接用burn bootloader就可以开始。如果用ST官方的Arduino包只支持官方的板子。

出0入309汤圆

 楼主| 发表于 2020-10-26 22:46:36 | 显示全部楼层
古调独弹 发表于 2020-10-26 20:48
试了OPENOCD是可以认到CH55X-CMSIS-DAP的,为啥KEIL不认只能说是兼容性差了一丢丢吧
...

那估计是命令实现不完全。这个固件只做了基本的CMSIS-DAP指令,在openocd下确认可用。

出0入309汤圆

 楼主| 发表于 2020-10-27 01:07:30 | 显示全部楼层
古调独弹 发表于 2020-10-26 20:48
试了OPENOCD是可以认到CH55X-CMSIS-DAP的,为啥KEIL不认只能说是兼容性差了一丢丢吧
...

你可以试一下
https://github.com/DeqingSun/ch5 ... es/05.USB/CMSIS_DAP
这个分支上我测试过,修复了pyocd不能用的问题。
猜测Keil应该也好了。

出0入309汤圆

 楼主| 发表于 2020-10-27 09:34:59 | 显示全部楼层
本帖最后由 iamseer 于 2020-10-27 09:36 编辑
古调独弹 发表于 2020-10-27 07:42
感谢楼主熬夜修复程序,不过我试了KEIL还是认不到CMSIS-DAP,我说的兼容性差了一丢丢是指KEIL
...


我找了一台有Keil的电脑可以?https://github.com/DeqingSun/ch5 ... es/05.USB/CMSIS_DAP 这里的代码是更新过的。
为省事,我把PID改成一个电脑没见过的PID,自动安装了HID驱动。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入309汤圆

 楼主| 发表于 2020-11-2 00:37:13 | 显示全部楼层
散吧散吧 发表于 2020-11-1 19:47
请教一个问题,在arduino中烧写代码的原理是什么?
我现在烧写之后得到的错误是Sketch uses 4463 bytes (31 ...

使用过的芯片第一次烧bootloader也不需要原装工具,但是需要使用上拉电阻进入bootloader。对于我Repo里的示例板子,需要按着按钮插入USB。
在boot loader模式下,参考Readme “The bootloader (4348,55E0) should be installed with WinUSB or libusb-win32 driver.”

出0入309汤圆

 楼主| 发表于 2020-12-8 07:34:24 | 显示全部楼层
本帖最后由 iamseer 于 2020-12-8 08:57 编辑


手动安装的包和自动安装不一样。 GITEE试过不支持外链(Arduino里报403错误),所以只能在Github上用了。
用这个链接让Arduino自动装。
https://raw.githubusercontent.co ... no_mcs51_index.json

出0入309汤圆

 楼主| 发表于 2020-12-8 08:47:43 | 显示全部楼层
王二小 发表于 2020-12-8 08:26
我试了下,每次上电只有第一次下载成功,第二次下载必须重新上电,这是正常情况吗? ...

不是,如果用带串口的例程,可以自动进bootloader下载。

出0入309汤圆

 楼主| 发表于 2020-12-8 09:40:08 | 显示全部楼层
王二小 发表于 2020-12-8 07:17
https://github.com.cnpmjs.org/DeqingSun/ch55xduino
楼主这个好像速度比较快

如果Github直接连不上,试一下改用这个链接
https://gh-proxy.deqing.workers. ... 51_proxy_index.json

出0入309汤圆

 楼主| 发表于 2020-12-8 09:42:03 | 显示全部楼层
王二小 发表于 2020-12-8 08:57
意思另外用个CH340串口模块接P30 P31上,通过CH340给CH551下载吗?

一般不是那样。如果你USB被占用了也可以串口下载。
默认程序都带USB-CDC接口,电脑上会出现虚拟串口。如果串口选对了,可以一键自动重启下载。像一般Arduino那样。

出0入309汤圆

 楼主| 发表于 2021-1-4 03:36:33 | 显示全部楼层
王二小 发表于 2021-1-3 11:09
楼主GitHub里面的PCB文件是用KiCad画的吗?楼主的PCB有没有在嘉立创EDA或者EasyEDA上开源? ...

是Eagle画的

出0入309汤圆

 楼主| 发表于 2021-9-2 06:55:23 | 显示全部楼层
爱电子1122 发表于 2021-9-1 12:29
楼主请教,用Arduino可以编译但是就是不能下载,也按键进入BT模式了,用CH官方的软件可以烧录
...

这是驱动问题。wchisp用的驱动和ch55xduino用的驱动不一样。所以不能同时使用。

你可以把驱动换成libusb就可以了。需要wchisp时候再换回来。

出0入309汤圆

 楼主| 发表于 2022-3-15 22:10:55 | 显示全部楼层
armos 发表于 2022-3-15 11:35
这个支持I2C的从机吗?
(引用自76楼)

CH552没有硬件i2c。 软件模拟主机的代码这个包里面有。从机还没有,但是你随便找个51的从机模拟代码应该都可以跑。外部中断的代码是有的。

出0入309汤圆

 楼主| 发表于 2022-3-15 22:25:47 | 显示全部楼层
armos 发表于 2022-3-15 22:12
好的 谢谢 用arduino写代码简单很多
(引用自78楼)

这边有挂中断的例程
https://github.com/DeqingSun/ch5 ... ttachInterrupts.ino
但是CH552的中断只能挂下降沿中断或者低电平中断。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 06:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表