STC_ISP下载软件问题汇总与解决

内容包括硬件与软件问题的解决,EEPROM填充0xFF的方法,STC系列ISP下载编程工具与一键下载电路(含成熟电路可参考)。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易!

目录:

一、硬件问题

1、串口问题

2、单片机后端电路问题

3、模块自身问题

4、USB转串口线不兼容

二、软件版本与设置原因

1、软件版本与晶振设置

2、波特率设置

3、下载保护设置

4、STC-ISP程序闪退

5、360杀毒软件误删除

三、EEPROM填充0xFF

四、STC系列ISP下载编程工具与一键下载电路

1、28pin单片机专用STC12下载编程工具

2、U7W Programmer/编程器

3、一键下载电路


一、硬件问题

1、串口问题

失败现象:
Chinese:正在尝试与 MCU/单片机 握手连接 ... 
打开串口失败!
Chinese:串口已被其它程序打开或该串口不存在。

验证串口详见“使用系统、软件、手机/利用软件验证串口的好坏”,如不能收到信息见下面的解决方法:第5条

解决方法:

1)检查USB下载模块的连接是否正常,模块上的绿色和红色LED灯都亮起表示连接正常。绿色LED灯不亮表示USB驱动程序出现问题,可以拔下USB模块重插一次。红色LED灯不亮表示模块没有供电,或是USB模块后面的电源输出端(3.3V、+5V、GND)有短路。

图1.1.1 USB下载模块

2)控制面板-->系统-->硬件管理器中找到“端口”-->CP2101串口,了解括号里的COM号。如果括号里显示COM4,那在STC-ISP软件里也要选择COM4才行。

图1.1.2 USB下载模块的串口

STC-ISP软件:

图1.1.3 STC-ISP设置串口

3)有时由于STC-ISP软件不稳定也会导致找不到串口,重启软件、重插USB模块再试一下。

4)USB模块的驱动程序没有安装好,或者和其他端口驱动程序冲突,也会有找不到串口的情况。重新安装并重启电脑再试。
《USB下载模块的驱动安装》视频:http://v.youku.com/v_show/id_XNDU3ODI3ODI0.html 

5)更新PL2303或CH340/341驱动程序,在STC官网(http://www.gxwmcu.com/下载最新的STC ISP软件。

图1.1.3 STC-ISP软件的下载

2、单片机后端电路问题

失败现象:
Chinese:正在尝试与 MCU/单片机 握手连接 ...
(3秒钟后出现如下显示)
Chinese:连接失败,请尝试以下操作:
①在单片机停电状态下,点下载按钮,再给单片机上电
②停止下载,重新选择 RS-232 串口, 接好电缆
③可能需要先将 P1.0/P1.1 短接到地
④可能外部时钟未接
⑤因 PLCC、PQFP 转换座引线过长而引起时钟不振荡,请调整参数
⑥可能要升级电脑端的 STC-ISP.exe 软件
⑦若仍然不成功,可能 MCU/单片机内无 ISP 系统引导码,或需退回升级,或 MCU 已损坏
⑧若使用 USB 转 RS-232 串口线下载,可能会遇到不兼容的问题,可以让我们帮助购买兼容的 USB 转 RS-232 串口线

仍在连接中, 请给 MCU 上电...

解决方法:

1)出现这样的情况首先证明了USB模块的连接和USB驱动程序工作正常。是正常的下载提示,这时给单片机重新上电就可以开始下载了。

------------------------------

2)单片机后端电路问题

若重新上电仍然没有出现下载进度条,可能出现的问题集中在USB模块后端,即单片机电路的部分。

(1)USB模块后端的5个针没有定向装置,所以有时会插反。

(2)误把5V单片机的电源接在3.3V上。

(3)MCU已损坏

3、模块自身问题

首先需要检查USB下载电路的硬件电路连接是否正确。同时看此视频测试模块的好坏:

http://v.youku.com/v_show/id_XMTYyNjQ4MDQ0.html

正确电路连接如下图:

图1.3.1 ISP下载线电路原理图

图1.3.2 ISP下载线电路原理图

4、USB转串口线不兼容

STC官方下载软件(stc-isp)不使用STC下载线直接下载程序,使用USB转串口线时,会出现无法下载程序的现象。可以购买图中UNITEK的USB转串口线实际正常使用。

图1.4.1 USB转串口线实物

图1.4.2 STC下载线

二、软件版本与设置原因

1、软件版本与晶振设置

失败现象:软件版本STC_ISP_V483

 MCU Type is: STC12C5608AD
MCU Firmware Version: 6.2G
Chinese:MCU 固件版本号: 6.2G
下次冷启动后使用 内部 RC振荡器       YES
下次下载时 P1.0/P1.1 与下载无关
下次下载用户应用程序时将数据Flash区擦除: NO

3.7V 以下复位

启动内部看门狗后禁止改看门狗分频数    NO

下次上电自动用有关参数启动内部看门狗  NO

Idle(空闲)状态时内部看门狗停止计数   YES

MCU Clock:4.9512MHz./时钟频率:4.9512.

Chinese:正在重新连接 ...

Current Baud is: / 当前波特率为:2400 bps.

We are erasing MCU flash...

正在擦除应用程序区...

MCU 出厂序列号:E668016806EFBB

正在下载...(开始时间:***) 

(几秒钟后显示)

设置选项失败。

图2.1.1 设置选项失败

解决方法:软件版本stc-isp-15xx-v6.85M

用最新的版本下载程序即可,但是注意:若使用外部晶振一定不要勾选“选择使用内部IRC时钟(不选为外部时钟)”

图2.1.2 外部晶振不要勾选

如下图读取到的晶振频率为5.499958M,是当前单片机内部晶振的频率。stc-isp-15xx-v6.85M累同如上。

图2.1.3

若上次己经设置了“外部晶体或时钟”且正确烧录程序,那么本次读取到的内容如下。

图2.1.4

虽然有一些单片机之前设置的是内部RC时钟,即不需要外部晶振也可以下载,但若不小心在某次下载时使用了STC-ISP软件默认的外部晶体,正好单片机外部未接晶振,就会下载失败。可在单片机的外部加6~35M之间的晶振、30pF的电容(如图1.3.2),然后再重新下载试试。测试时单片机必须加晶振!

2、波特率设置

失败现象:
Chinese:正在尝试与 MCU/单片机 握手连接 ... 
MCU Type is: STC12C5A60S2
MCU Firmware Version: 6.2I
Chinese:MCU 固件版本号: 6.2I
下次冷启动后使用外部晶体或时钟
RESET pin 仍为 RESET
上电复位不增加额外的复位延时
振荡器放大增益: High gain
下次下载时 P1.0/P1.1 与下载无关
下次下载用户应用程序时将数据Flash区擦除: NO
P4.6/RESET2 用作 P4.6
启动内部看门狗后禁止改看门狗分频数 NO
下次上电自动用有关参数启动内部看门狗 NO
Idle(空闲)状态时内部看门狗停止计数 YES
冷启动后内部看门狗预分频数(未启动): 256
MCU Clock:24.045688MHz./时钟频率:24.045688M.
Chinese:正在重新连接 ...
(几秒钟后显示)
Connection failed. / 握手失败 (End: 21:00:39)


解决方法:
1)这个问题多出现在STC12C5A60S2单片机上,在较高的波特率时很容易在下载时出现握手失败。一般的解决方法是将第3步串口的最高波特率选择到1200,这样可以保证下载,但下载的速度较慢。

图2.2.1 波特率设置

-------------------------------------

2)另一种解决方法是把最高和最低波特率选择到同样的数值(如都调到9600),用下拉列表中不同的波特率来下载看看,找到成功率最高的那一个数值。
3)到STC公司网站上下载STC-ISP V4.86版本的程序,可以流畅地为STC12C5A60S2下载程序。不需要改波特率。

STC网站:http://www.STCMCU.com/

3、下载保护设置

STC-ISP软件里有下载保护设置,即需要将P1.0、P1.1两个IO接口同时与GND连接才可以下载程序。一般型号的STC单片机默认不使用此保护,但如STC12C5406等单片机默认开启保护。若上面的方法失败,尝试将P1.0、P1.1接口短接在GND上再下载。而且以后注意在下载时关闭这个保护功能,除非确实需要保护。

图2.3.1 P1.0、P1.1设置

单片机出厂时的缺省设置是“P1.0/P1.1”与下载无关,P3.0/RxD、P3.1/TxD 通过RS-232转换器连接到电脑的普通RS-232串口就可以下载/编程用户应用程序到单片机内部用户应用程序区了。

若单片机在正常工作时P3.0/RxD外接的是RS-485/RS-232等通信电路,推荐选择步骤4中:下次冷启动P1.0/P1.1”等于“0/0”才可以下载程序。

单片机冷启动后(先无电后上电)首先运行单片机系统ISP监控程序。系统ISP监控程序首先判断是否需要“P1.0/P1.1”等于“0/0”才可以继续执行系统ISP监控程序。

若用户设置了下次冷启动后“P1.0/P1.1”等于“0/0”才可以下载程序,而下次冷启动后“P1.0/P1.1”不同时为“0/0”,则单片机立即结束运行系统ISP监控程序,软复位到用户应用程序区执行用户应用程序。

若用户设置了下次冷启动后“P1.0/P1.1”等于“0/0”才可以下载程序,冷启动后如“P1.0/P1.1”同时为“0/0”,则单片机会去判断P3.0/RxD口有无合法下载命令流(有几百个字节)。若有合法下载命令流,则下载用户应用程序。若无合法下载命令流,则单片机立即结束运行单片机系统ISP监控程序,软复位到用户应用程序区执行用户应用程序。

若冷启动后 P3.0/RxD 口有很多“乱码”进入P3.0串口,虽然系统ISP监控程序能正确地判断是不合法的命令,但是较多的“乱码”会使单片机从“运行系统ISP监控程序状态”转变为“运行用户应用程序状态”的时间拉长,造成用户误认为是复位时间过长。

设置下次冷启动后“P1.0/P1.1”等于“0/0”才可以下载用户应用程序的好处是:将单片机从“运行系统ISP监控程序状态”变为“运行用户应用程序状态”的时间缩短到50mS以内,此时间可忽略不计,因为R/C阻容复位电路的时间误差是毫秒级的。大部分用户选择单片机出厂时的缺省设置“P1.0/P1.1”与下载无关就可以了。

4、STC-ISP程序闪退

失败现象:
点击STC-ISP软件的“下载按钮”时,STC-ISP软件自行关闭。

解决方法:
将单片机的电源断开,然后再点击“下载”按键,再给单片机上电。此问题的原因可能是单片机现存的用户程序在操作P3.0、P3.1接口(UART复用接口),使得STC-ISP软件接收到错乱的串口数据,而导致软件自行关闭。解决方法同“3、下载保护设置”所述。

5、360杀毒软件误删除

进入360杀毒软件把STC软件包或其中的可执行文件软件设置为"可信任软件"。

三、EEPROM填充0xFF

使用高版本的软件,比如这里的V6.85M版本。

1、点击如下图1处“区域填充”,在“填充数据块”界面中根据单片机型号修改2、3处。

图3.1.1 填充数据块

-----------------------------------------------------------
2、填充出来的效果如下图,2处的校验和也会发生相应变化,点击3处的“保存数据”,下次可以直接从4处打开EEPROM即可。

图3.2.1 填充数据块

-----------------------------------------------------------
3、注意:用下面的软件生成的文件,STC_ISP不认。

图3.3.1 填充数据块

四、STC系列ISP下载编程工具与一键下载电路

1、28pin单片机专用STC12下载编程工具

图4.1.1 电路原理图见下图1

宏晶官网给出的“STC-ISP下载编程烧录失败汇总(荐)”,宏晶STC单片机

2、U7W Programmer/编程器

图4.2.1 U7W Programmer/编程器

以15F2K61S2为主控,B6284N升压芯片。

3、一键下载电路

图4.3.1 成熟电路


不登高山,不知天之高;不临深溪,不知地之厚。觉得不错,动动发财的小手点个赞哦!

### STCISP Log Format and Analysis in Embedded Development In the context of embedded systems, particularly those involving microcontrollers like the STC series, understanding the `stcisp` log is crucial for debugging and ensuring proper operation. The tool `stcisp`, used primarily with STC microcontrollers, generates logs that provide insights into programming operations. The typical structure of an `stcisp` log includes several key components: - **Timestamps**: Each entry often starts with a timestamp indicating when the event occurred. - **Operation Type**: Describes what action was performed (e.g., read, write). - **Status Codes**: Numerical or symbolic codes representing success or failure states during execution[^1]. For analyzing these logs effectively: #### Common Status Messages Logs may contain messages such as "Programming Successful," which indicates no errors were encountered while writing data to flash memory. Conversely, error conditions might be flagged by specific status codes or descriptive text pointing towards issues like communication failures between hardware interfaces. #### Example Code Snippet for Parsing Logs To automate parsing and extracting meaningful information from `stcisp` logs, one can use Python scripts tailored specifically for this purpose. Below is an example script demonstrating how to parse common elements found within such files: ```python import re def analyze_stcisp_log(log_file_path): patterns = { 'timestamp': r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}', # Match YYYY-MM-DD HH:MM:SS format timestamps 'operation_type': r'(Read|Write)', # Capture Read/Write actions 'status_code': r'Status=(\w+)' # Extract status code after '=' sign } results = [] with open(log_file_path, 'r') as file: lines = file.readlines() for line in lines: match_data = {} for key, pattern in patterns.items(): matches = re.findall(pattern, line) if matches: match_data[key] = matches if match_data: results.append(match_data) return results ``` This function reads through each line of a provided log file path, searching for predefined patterns related to timestamps, types of operations conducted, and any associated status updates reported by `stcisp`. --related questions-- 1. How do different status codes in stcisp logs correlate with potential problems? 2. What are some best practices for troubleshooting based on parsed log outputs? 3. Can you explain more about integrating custom logging mechanisms alongside standard stcisp functionality? 4. Are there alternative tools available besides stcisp for managing firmware uploads in similar devices?
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱上电路设计

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值