From 0c28b5fa048dd997885a9f1724484dceb2e2c979 Mon Sep 17 00:00:00 2001 From: vc4 <287920192@qq.com> Date: Wed, 10 Apr 2024 17:00:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9goto=5Fbootloader=E8=BF=9B?= =?UTF-8?q?=E5=85=A5=E9=94=99=E8=AF=AF=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hc32flash.py | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/hc32flash.py b/hc32flash.py index 6f89772..6f58865 100755 --- a/hc32flash.py +++ b/hc32flash.py @@ -226,25 +226,19 @@ class SerialTransport(): self.serial.close() def goto_bootloader(self): - _cnt = 0 - while _cnt < 50: - time.sleep(0.01) - self.write(b'\x18\xFF'*10, flush=False) - step = _cnt % 20 - if step == 0: - self.serial.rts = True - self.serial.dtr = True - elif step == 10: - self.serial.rts = False - self.serial.dtr = False - elif step > 10: - if self.serial.in_waiting: - ack = self.read(self.serial.in_waiting) - if ack[-6:] == b'\x11': - time.sleep(1) # clear input buffer - self.serial.flushInput() - return True - _cnt += 1 + self.serial.rts = True + self.serial.dtr = True + time.sleep(0.5) + self.serial.rts = False + self.serial.dtr = False + self.write(b'\x18\xFF'*10, flush=False) + time.sleep(0.5) + if self.serial.in_waiting: + ack = self.read(self.serial.in_waiting) + if ack[-6:] == b'\x11'*6: + time.sleep(3) # clear input buffer + self.serial.flushInput() + return True return False def check_lock(self):