cyf1029 发表于 2024-10-25 18:54:47

使用外部时钟和PLL输出44.2368M问题

工作中要用到外部晶振,系统时钟需要44.2368M,外部晶振选的是22.1184M,单片机STC8H2K08U,在USB转CDC2的程序上增加了选用外部晶振和PLL输出的代码,如图。现象是只有外部晶振代码的时候,程序可以运行,usb能虚拟出2个串口,但是加入PLL代码后,usb没办法虚拟两个串口了,程序无法正常运行,请问是哪里的问题?

soma 发表于 2024-10-25 19:00:32

USB使用内部24m晶振好像

cyf1029 发表于 2024-10-25 19:11:49

soma 发表于 2024-10-25 19:00
USB使用内部24m晶振好像

USB的时钟使用的USB专用时钟,这个PLL时钟是给系统时钟的,使用44M时钟的话串口压力测试不会丢包

cyf1029 发表于 2024-10-25 19:41:02

soma 发表于 2024-10-25 19:00
USB使用内部24m晶振好像

我看到问题了,usb_init()函数里面重新设置了USBCLK的值,关闭了倍频

CyberHamster 发表于 2024-10-25 19:41:21

soma 发表于 2024-10-25 19:00
USB使用内部24m晶振好像

48M
页: [1]
查看完整版本: 使用外部时钟和PLL输出44.2368M问题