lgwd 发表于 2024-12-16 11:26:50

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

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

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

IRC48    XDATA0FE07H

STC的CDC官方汇编语句

我们的汇编程序语句

SREST:
      CLRA                        ; 1
      MOVDPTR, #USBCON            ; 3
      MOVX @DPTR, A                   ; 1
      MOVDPTR, #USBCLK            ; 3
      MOVX @DPTR, A                   ; 1
      MOVDPTR, #IRC48               ; 3
      MOVX @DPTR, A                   ; 1

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

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

DebugLab 发表于 2024-12-16 11:40:07

IAP_CONTR = 0x60 呢?

lgwd 发表于 2024-12-16 18:45:48

<p>好。再试试!</p>
页: [1]
查看完整版本: 汇编下使用CDC库遇到软复位死机情况