ainiwuhui 发表于 2024-9-4 14:23:14

学习了.{:4_250:}

tzz1983 发表于 2024-9-4 21:17:14

才发现这个秘密,
软复位其实不需要 P3.2 == 0 , 就可以直接进USB下载引导 USB Writer HID1 ,

只要设置任意端口:
      if (!Pxx){
            IAP_CONTR=0X60;   //如果自身不包含USB相关的应用,这一句就够了
      }


如果本身就是USB应用,则需要多加两句来断来原有的USB连接:
      if(!Pxx){
            USBCON = 0x00;      //禁用USB功能
            delay_ms(2);            //等电脑检测到USB设备掉线
            IAP_CONTR=0X60;   //软复位, 电脑重新枚举到 USB Writer HID1
      }

还是挺方便的

wpppmlah 发表于 2024-12-14 16:26:28

<pre><code>以下是按键进行复位的片断,,就是不能 让电脑重新枚举到 USB Writer HID1,请大家看看,这样写是什么问题,让单片机只是复位重启,然后又运行用户代码的??
while(!KEY)
      {
            if(holdkey_time&gt;=20)//holdkey_time 在定时器中计时
            {
                USBCON = 0x00;      //清除USB设置
                USBCLK = 0x00;
                IRC48MCR = 0x00;

                delay_ms(10);                           //检测到正确的命令序列后复位到系统区,此处的延时可省去
                IAP_CONTR = 0x60;                     //复位到系统区
                while (1);
            }
      }
      holdkey_time = 0;

</code></pre>

vb2002 发表于 2024-12-14 23:18:48

明天我也试试,软复位
页: 1 [2]
查看完整版本: USB下载,只能是冷启动吗? | 已解决, 可以用软复位