VCC 发表于 2024-10-30 01:20:26

谈一个AI-ISP软件【检测MCU选项】功能的老缺陷

本帖最后由 a496298685 于 2024-10-30 09:49 编辑

因为项目原因,我使用的STC单片机型号非常多。繁多的型号让人眼花缭乱,每次从列表里选出芯片都很困难。






一次同事介绍,我才知道,只需要点一下这个按钮就能自动识别单片机型号,免除了手动查找单片机型号的麻烦



但是使用中注意到这样的一个缺陷:

当正在使用的单片机型号是STC89CxxRC/RD+或STC90CxxRC/RD+,而STC-ISP选取的型号不是STC89CxxRC/RD+或STC90CxxRC/RD+的时候
并不能检测到任何单片机

用逻辑分析仪抓了一下波形,发现此时单片机已经又回复了。


对比测试STC-ISP选取的型号是STC89CxxRC/RD+或STC90CxxRC/RD+的时候,可以检测包括STC89/90/15/8/12等各种单片机型号。

研究逻辑分析仪的波形发现:

STC89/90单片机型号的烧录协议中,握手报文是UART 8数据位、1停止位、无校验位
STC15/8/12单片机型号的烧录协议中,握手报文是UART 8数据位、1停止位、偶校验位

因此猜测,这个缺陷可能是因为:

STC-ISP选取的型号是STC89CxxRC/RD+或STC90CxxRC/RD+的时候,USB虚拟串口以无校验位方式启动,同时可以接收并识别无校验位、奇校验位、偶校验位方式的数据

STC-ISP选取的型号不是STC89CxxRC/RD+或STC90CxxRC/RD+的时候,USB虚拟串口以偶校验位方式启动,同时只可以接收并识别偶校验位方式的数据,而无校验位、奇校验位的数据会发生错乱!

请STC的技术人员评估一下,能否在【检测MCU选项】功能的时候,无条件以无校验位方式启动USB虚拟串口读取数据,可以同时接收并识别无校验位、奇校验位、偶校验位方式的数据!

谢谢!

soma 发表于 2024-10-30 06:25:48

如果选stc89c52就检测不到最新单片机原来是这原因啊

hande5 发表于 2024-10-30 08:07:52

看看,学习学习

xxkj2010 发表于 2024-10-30 08:13:37

楼主肯定也是大工程师,居然能发现这个问题,并且把问题分析得这么透彻。{:4_250:}

21cnsound 发表于 2024-10-30 08:33:42

这个问题我也发现了,只是没有总结出来这个规律,只知道STC89/90需要选对型号再检测。

按楼主分析如果是正确的,希望官方也能完善完善,还有不少学生在用STC89。

乘风飞扬 发表于 2024-10-30 09:06:19

新版ISP软件可以通过关键字搜索需要的单片机型号:

Matrix 发表于 2024-10-30 09:17:53

又有新的技能了

晓飛飛 发表于 2024-10-30 09:56:26

分析的有理有据,还提供了参考方案,{:5_332:}

邮箱 发表于 2024-10-30 11:13:40

{:4_168:}

giveyou 发表于 2024-11-5 17:13:51

这个比较方便
页: [1]
查看完整版本: 谈一个AI-ISP软件【检测MCU选项】功能的老缺陷