找回密码
 立即注册
楼主: hhhhhht

调用usb_init();函数后就死机问题

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2940

积分

荣誉版主

无情的代码机器

积分
2940
发表于 2025-3-18 22:42:15 | 显示全部楼层
usb库内部可能USBCLK = 0x00;禁止了倍频,用源码测试不屏蔽这句会卡死。
使用PLL做USB时钟
截图202503182238011773.jpg 截图202503182237483902.jpg 截图202503182237303314.jpg




使用内部48M做USB时钟:

截图202503182242013237.jpg 截图202503182242121612.jpg

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2940

积分

荣誉版主

无情的代码机器

积分
2940
发表于 2025-3-19 08:33:40 | 显示全部楼层
hhhh*** 发表于 2025-3-18 21:06
//IRCBAND  
//选择USB时钟为IRC48M   
USBCKS = 1;

USBCLK &= 0x60;
USBCLK |= 0x20;


这两句也有问题
你没配置 IRCBAND.SEL
截图202503190831555332.jpg
截图202503190832131452.jpg
默认6M的话,二分频变3M了,达不到输入PLL要求的8M~16M


参考:

                CLKDIV = 0x04;                                 //主时钟 MCLK四分频,144/4
        
                IRCBAND &= ~(3<<6);                        //选择USB时钟为IRC48M  
                IRCBAND |= (2<<6);
                IRC48MCR = 0x80;                                //启动内部48M USB时钟
                while (!(IRC48MCR & 1));                  //等待时钟稳定
        
                IRCBAND |= 2;                                // IRCBAND.SEL 27MHz
                USBCLK &= ~0x60;                         // PCKI 清空
                USBCLK |= 0x20;                             //PCKI 二分频
               
                CLKSEL |= 0x80;                              //CKMS,PLL 输出 12*12 ,144
        
                CLKSEL &= 0xF0;
                CLKSEL |= 0x04;                             //内部 PLL 输出,MCK2SEL 01,MCKSEL 00
               
                USBCLK |= 0x80;                             //ENCKM

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-04-30 09:34:03
已绑定手机

11

主题

44

回帖

299

积分

中级会员

积分
299
发表于 2025-3-21 08:27:27 | 显示全部楼层
erci*** 发表于 2025-3-18 22:42
usb库内部可能USBCLK = 0x00;禁止了倍频,用源码测试不屏蔽这句会卡死。
使用PLL做USB时钟

是的,usb_init()要在时钟配置之前初始化就可以。建议更新USB库。目前这种写法是不是不太兼容?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2940

积分

荣誉版主

无情的代码机器

积分
2940
发表于 2025-3-21 08:45:35 | 显示全部楼层
在论坛里找了一圈,时钟树这部分资料比较少,不建议代码里操作时钟树,直接用AIAPP-ISP软件调节IRC就行。

https://www.stcaimcu.com/forum.p ... 6242&pid=152465
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-04-30 09:34:03
已绑定手机

11

主题

44

回帖

299

积分

中级会员

积分
299
发表于 2025-3-21 16:52:31 | 显示全部楼层
erci*** 发表于 2025-3-21 08:45
在论坛里找了一圈,时钟树这部分资料比较少,不建议代码里操作时钟树,直接用AIAPP-ISP软件调节IRC就行。

...

不操作时钟树,玩不到精髓哈哈
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 13:15 , Processed in 0.135869 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表