Kian Cai 发表于 2026-6-4 15:58:48

【已解决】单片机是STC32G144K246,主时钟调为120M,无法使用USB口

   单片机是STC32G144K246,之前主时钟为40M时,USB驱动正常的。 后来我把主时钟调为120M后,USB就不正常了。按理说USB时钟是独立的,与主时钟没有关联。后来
经过查论坛资料有解决办法,是增加USB读写程序里面的延迟来适配主时钟的时序逻辑。



我采用的是官方lib库文件,是huge模式,请问怎么修改呢?这个lib开源文件在哪里下载呢





梁工 发表于 2026-6-4 20:51:05

main函数一开始:
        EAXFR = 1;        //SFR enable
        CKCON = 0;
        WTST= 4;        // 90~120MHz写4

神农鼎 发表于 2026-6-4 20:54:58

STC32G144K246 要注意啥, 使用USB@120MHz,使用CAN-FD@100MHz ~ 120MHz - STC32G144K246 测试版块,PGA/运放,DAC,CAN-FD,主频100MHz以下 国芯人工智能技术交流网站 - AI32位8051交流社区

Kian Cai 发表于 2026-6-4 22:34:39

梁工 发表于 2026-6-4 20:51
main函数一开始:
      EAXFR = 1;      //SFR enable
      CKCON = 0;


配置了的,测试了40M正常,当频率调到120M还是不行。USB插上一点反应都没有。

其中库文件我用的官网最新(裴工说这个里面包含了设置usb寄存器操作函数等待NOP数,已经设置了延迟还是不行)下载的stc_usb_cdc_32g_huge.lib,keil的Memory Model:XSmall模式

下面是我测试程序。

ercircle 发表于 2026-6-5 09:31:04


STC32G144K246中USB模块和系统时钟的关系 - 第3页 - STC32G144K246 测试版块,PGA/运放,DAC,CAN-FD,主频100MHz以下 国芯人工智能技术交流网站 - AI32位8051交流社区

同个问题不要重复发帖~



页: [1]
查看完整版本: 【已解决】单片机是STC32G144K246,主时钟调为120M,无法使用USB口