找回密码
 立即注册
查看: 738|回复: 2

汇编下使用CDC库遇到软复位死机情况

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:498
  • 最近打卡:2026-04-04 16:36:02

49

主题

158

回帖

1661

积分

金牌会员

积分
1661
发表于 2024-12-16 11:26:50 | 显示全部楼层 |阅读模式

正在调试汇编下使用STC的CDC库。遇到问题是:
一旦运行软件复位语句:IAP_CONTR = 0x20
整个系统就锁死了,必须关闭电源再打开重新开机。
之前发帖是在C编程下遇到这个问题,STC官方回复:
USBCON = 0x00; //清除USB设置
USBCLK = 0x00;
IRC48MCR = 0x00;

delay_ms(10);
IAP_CONTR = 0x20;   //软件复位

按上述方法解决了这个问题。可是现在在汇编下,使用下述语句:
#include"AI8H.H"

IRC48    XDATA  0FE07H

STC的CDC官方汇编语句

我们的汇编程序语句

SREST:
      CLR  A                          ; 1
      MOV  DPTR, #USBCON              ; 3
      MOVX @DPTR, A                   ; 1
      MOV  DPTR, #USBCLK              ; 3
      MOVX @DPTR, A                   ; 1
      MOV  DPTR, #IRC48               ; 3
      MOVX @DPTR, A                   ; 1

	  LCALL Delay5ms()                ;延时5ms
	  LCALL Delay5ms()                ;延时5ms
      MOV   IAP_CONTR, #20H           ;*软件复位软件复位  3   
	  RET                                      ; 20

上面是软复位语句,应该是按STC官方提供的解决办法。可是软复位执行了这段语句,还是出现完全死机情况。不知原因?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:725
  • 最近打卡:2026-03-30 12:09:34
已绑定手机

97

主题

7246

回帖

1万

积分

超级版主

积分
13798
发表于 2024-12-16 11:40:07 | 显示全部楼层
IAP_CONTR = 0x60 呢?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:498
  • 最近打卡:2026-04-04 16:36:02

49

主题

158

回帖

1661

积分

金牌会员

积分
1661
发表于 2024-12-16 18:45:48 | 显示全部楼层

好。再试试!

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-4-4 19:10 , Processed in 0.101111 second(s), 55 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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