这两天开发一个小项目用到了CH32V002J4M6为方便调试首先配置好的USART1通过SWIO单线烧录程序后串口打印正常。编辑程序后再次烧录结果烧录失败如下图原因是CH32V002J4M6芯片PD1、PD4与PD5引脚在芯片内部短接合封引到芯片的第8脚芯片的 SWD 烧录口是 PD1SWIO如果程序里把 PD1 当普通 IO 用或者用其它功能用第二次烧录就会连不上报“设置芯片型号失败”或“无法识别目标芯片”。V002系列芯片无BOOT引脚串口ISP下载用不了从AI和论坛找了方法“掉电方式清空 CodeFlash”均未解决。项目需用到USART1此芯片资源受限USART1又无法重映像到其它引脚。想到芯片第8脚默认是PD1SWIO,程序运行初始化串口初始化为PD5 TX后SWIO失效。根据这一思路程序上电启动后把串口初始化延后几十秒或1分钟给默认的PD1SWIO烧录功能留出足够的时间几秒肯定不够。经实践此方法可行即保留PD1SWIO烧录功能又可使用USART1。只是烧录时需重新上电在预留的时间内串口初始化前烧录即可比废掉一颗芯片划算。