【已解决】单片机是STC32G144K246,主时钟调为120M,无法使用USB口
单片机是STC32G144K246,之前主时钟为40M时,USB驱动正常的。 后来我把主时钟调为120M后,USB就不正常了。按理说USB时钟是独立的,与主时钟没有关联。后来经过查论坛资料有解决办法,是增加USB读写程序里面的延迟来适配主时钟的时序逻辑。
我采用的是官方lib库文件,是huge模式,请问怎么修改呢?这个lib开源文件在哪里下载呢
main函数一开始:
EAXFR = 1; //SFR enable
CKCON = 0;
WTST= 4; // 90~120MHz写4
STC32G144K246 要注意啥, 使用USB@120MHz,使用CAN-FD@100MHz ~ 120MHz - STC32G144K246 测试版块,PGA/运放,DAC,CAN-FD,主频100MHz以下 国芯人工智能技术交流网站 - AI32位8051交流社区
梁工 发表于 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模式
下面是我测试程序。
STC32G144K246中USB模块和系统时钟的关系 - 第3页 - STC32G144K246 测试版块,PGA/运放,DAC,CAN-FD,主频100MHz以下 国芯人工智能技术交流网站 - AI32位8051交流社区
同个问题不要重复发帖~
页:
[1]