基于CH552虚拟串口的“尴尬”

一般情况下,使用单片机USB虚拟出来的CDC串口,最好至少得兼容两种电压:5V和3.3V。但是,如果使用了CH552,那就应该注意了。因为最近遇到了这种“尴尬”。
如果想兼容3.3V电压,那么系统频率不能设置为24MHz,最高只能是16MHz。
官方也有这种回应,3.3V供电的情况下,最高系统频率设置16MHz。
001
也有网友验证了这一点:在 3.3V 下将主频设为 24MHz 后,芯片仅运行几毫秒便死机,降回 16MHz 则完全正常。

0044
(源自:https://github.com/DeqingSun/ch55xduino/issues/28)
在ch552芯片手册中,虽然没有正面指定3.3V 时 24MHz 工作不稳定,但在测试条件中有这样的“澄清”:
000
也就是说,3.3V时,系统频率不能高于16MHz!
而ch549就不用有这种担心:
004
系统频率16MHz,作为CDC通讯时,硬件串口的波特率不能设置为115200,因为时基误差太大!而波特率设置为100000时,却能正常通讯。
002
甚至设置为200000仍然可以正常通讯。
003
想不到吧?

2026.10.7

image

欢迎关注本人公众号,了解更多。

posted @ 2026-10-07 10:32  lmn2005  阅读(2)  评论(0)    收藏  举报