神农鼎 发表于 2026-1-16 09:36
STC32G144K246, 时钟频率可以动态调整:
1,USB通信时降低速度;
2,非USB通信时,提高速度
这样绕过去风险比较大,假如在USB通信期间,此时降低频率。 如果此时刚好DMA_Uart正在传输数据时,DMA时序突变 数据将会乱码。
ercircle 发表于 2026-1-16 17:17
read函数也要加,试下这两120MHz HID&CDC:
请问有 120M时钟下的USB的 32g_huge_ lib库文件吗
Kian Cai 发表于 2026-6-4 17:06
请问有 120M时钟下的USB的 32g_huge_ lib库文件吗
官网下载的就可以,新增了个接口适配144K高频时钟。
ercircle 发表于 2026-6-4 17:49
官网下载的就可以,新增了个接口适配144K高频时钟。
还是不行,测试了40M正常,当频率调到120M还是不行。
其中库文件我改用的是stc_usb_cdc_32g_huge.lib,keil的Memory Model:XSmall模式
裴工,下面是我测试程序,你可以测试一下。
Kian Cai 发表于 2026-6-4 22:23
还是不行,测试了40M正常,当频率调到120M还是不行。
其中库文件我改用的是stc_usb_cdc_32g_huge.lib, ...
这句放usb_init后面,再试下
Kian Cai 发表于 2026-6-4 22:23
还是不行,测试了40M正常,当频率调到120M还是不行。
其中库文件我改用的是stc_usb_cdc_32g_huge.lib, ...
你的工程里除了上面这个顺序问题,还有config里FOSC 48M和实际120M不匹配
也会失败,可能是影响了这里前后等待的1ms时钟稳定。
ercircle 发表于 2026-6-5 09:11
这句放usb_init后面,再试下
还是不行
可以用我上面的程序附件测试一下。我已经配置为了120M时钟,定义了const数组来占用flash空间, hex生成大于64K 来模拟的现在的实际项目配置。
ercircle 发表于 2026-6-5 09:29
你的工程里除了上面这个顺序问题,还有config里FOSC 48M和实际120M不匹配
也会失败,可能是影响了这里前 ...
刚测试这个可以了。 可能是 config里FOSC 48M 没有同步修改。导致延迟delay程序不准确。谢谢。
Kian Cai 发表于 2026-6-5 09:36
还是不行
可以用我上面的程序附件测试一下。我已经配置为了120M时钟,定义了const数组来占用flash空间,...
你的工程修改了上面两处问题后我这边可以识别。直接下载hex试下
1065
Kian Cai 发表于 2026-6-5 09:46
刚测试这个可以了。 可能是 config里FOSC 48M 没有同步修改。导致延迟delay程序不准确。谢谢。 ...
OK,注意AiCube生成的不是最新的LIB,要手动覆盖下,下一版AiCube这些wait函数模板里自动调用。