找回密码
 立即注册
查看: 85|回复: 7

【已解决】STC32G144K246 无法软复位 IAP_CONTR

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:22
  • 最近打卡:2026-06-23 09:25:22
已绑定手机

8

主题

58

回帖

468

积分

中级会员

积分
468
发表于 2026-5-26 11:15:20 | 显示全部楼层 |阅读模式
STC32G144K246 无法软复位 IAP_CONTR

项目中需要用到软件复位重启的功能,但是执行到这里就卡死了。设备也无法重启。      

void Sys_Soft_Reset()
{

EA=0;
IRC48MCR = 0x00;
USBCLK = 0x00;
USBCON = 0x00;   
delay_ms(200);
IAP_CONTR = 0x20;
}


何故? 何解? 在线等。。。

另外自己测试过通过看门狗重启是正常的。。。 为何软件重启就不行。。。




回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:22
  • 最近打卡:2026-06-23 09:25:22
已绑定手机

8

主题

58

回帖

468

积分

中级会员

积分
468
发表于 2026-5-26 14:37:35 | 显示全部楼层


    我初始化程序里面有PLL高频。

    然后复位之前,一定要先关闭这个PLL倍频,  因为软件重启的时候, 时钟频率寄存器不会更改。这个频率太高了。 启动 的时候时钟好像跑不起来。
   
    CLKSEL = 0x00;        // 切换主时钟到内部IRC(避开PLL)
    HPLLCR &= ~0x80;      // 关闭PLL使能位
    delay_ms(10);

    IAP_CONTR = 0x20;        // 设置SWRST=1, SWBS=0

点评

[attachimg]138218[/attachimg]  详情 回复 发表于 2026-5-26 15:50
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-04 12:34:03
已绑定手机

112

主题

4958

回帖

1万

积分

荣誉版主

无情的代码机器

积分
10758
发表于 2026-5-26 15:50:03 | 显示全部楼层
Kian*** 发表于 2026-5-26 14:37
问题搞定了, 强烈建议 手册增加这个提示。

    我初始化程序里面有PLL倍频。

截图202605261843329870.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:22
  • 最近打卡:2026-06-23 09:25:22
已绑定手机

8

主题

58

回帖

468

积分

中级会员

积分
468
发表于 2026-5-26 18:22:25 | 显示全部楼层

USB 我关了也不行,  一楼发帖里面就是这样写的。    后面单独测试了一个程序,把PLL关闭后就正常了。      

点评

仔细看图里第一行就是CLKSEL = 0x00; 噢  发表于 2026-5-26 18:29
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:22
  • 最近打卡:2026-06-23 09:25:22
已绑定手机

8

主题

58

回帖

468

积分

中级会员

积分
468
发表于 2026-5-26 18:23:17 | 显示全部楼层
  这个测试就正常了。
截图202605261822324131.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:22
  • 最近打卡:2026-06-23 09:25:22
已绑定手机

8

主题

58

回帖

468

积分

中级会员

积分
468
发表于 2026-5-26 18:35:55 | 显示全部楼层

  感谢感谢,看到了。   
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-5 14:06 , Processed in 0.076136 second(s), 70 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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