[STC单片机]

USB-CDC无法对STC单片机进行下载

[复制链接]
871|9
手机看帖
扫描二维码
随时随地手机跟帖
iamstarter|  楼主 | 2020-5-29 23:01 | 显示全部楼层 |阅读模式
做了一块STC8A8K的学习板,除了STC8A8K单片机外,还用了一个CH552单片机,想当然的觉得只要给552下载一个USB CDC的固件,就可以实现对STC单片机的下载。

结果,臣妾做不到啊!

通过观察发现用552下载时,一接通电源,STC单片机很快就退出了ISP模式,运行用户程序了。

软件给出的提示是:
正在检测目标单片机 ...
  单片机型号: STC8A8K64S4A12
  固件版本号: 7.3.10U

当前芯片的硬件选项为:
  . 内部IRC振荡器的频率: 24.000MHz
  . 掉电唤醒定时器的频率: 34.625KHz
  . 振荡器放大增益使能
  . P3.2和P3.3与下次下载无关
  . 上电复位时增加额外的复位延时
  . 复位引脚用作普通I/O口
  . 检测到低压时复位
  . 低压检测门槛电压 : 2.20 V
  . 上电复位时,硬件不启动内部看门狗
  . 上电自动启动内部看门狗时的预分频数为 : 256
  . 空闲状态时看门狗定时器停止计数
  . 启动看门狗后,软件可以修改分频数,但不能关闭看门狗
  . 下次下载用户程序时,将用户EEPROM区一并擦除
  . 下次下载用户程序时,没有相关的端口控制485
  . 下次下载时不需要校验下载口令
  . TXD与RXD为相互独立的IO
  . 芯片复位后,TXD脚为弱上拉双向口
  . 芯片复位后,P2.0输出高电平
  . 内部参考电压: 1338 mV (参考范围: 1270~1410mV)
  . 内部安排测试时间: 2020年3月21日

  单片机型号: STC8A8K64S4A12
  固件版本号: 7.3.10U

开始调节频率 ...
下载失败 ! (6.87D)(2020-05-29 23:01:43)

使用特权

评论回复

相关帖子

iamstarter|  楼主 | 2020-5-29 23:03 | 显示全部楼层
软件显示“开始调节频率 ...”时,stc单片机已经退出ISP模式,开始运行用户程序了

使用特权

评论回复
LcwSwust| | 2020-5-30 09:22 | 显示全部楼层
将波特率调低试试

使用特权

评论回复
ifree64| | 2020-5-30 21:30 | 显示全部楼层
波特率调低、波特率固定都试过了,各种波特率都试过。

打开STC-ISP的Debug模式,看到整个下载过程只有一个数据对话过程。

使用特权

评论回复
autopccopy| | 2020-6-1 11:38 | 显示全部楼层
本帖最后由 autopccopy 于 2020-6-1 11:48 编辑
ifree64 发表于 2020-5-30 21:30
波特率调低、波特率固定都试过了,各种波特率都试过。

打开STC-ISP的Debug模式,看到整个下载过程只有一个 ...

据网上的资料,STC-ISP 软件进行串口下载时,中途需要根据过程中测量信息快速设置一些串口参数。所以部分USB转串口硬件不支持或性能不好都会因超时导致下载失败(例如蓝牙转串口模块、部分性能不佳的USB转串口模块或部分RS485电路都因此下载不成功)。
解决建议:
1. 使用标准的USB转串口模块,例如CH340系列的性能就很好。
2. STC15/STC8系列已经开放了ISP下载协议,自己写一个上位机进行下载(不设置参数)
3. 使用STC15/STC8系列的直接USB下载功能(不通过串口),其中STC8H8K64U 还支持硬件USB(HID模式)直接下载功能,非常方便。



STC-ISP687H1.jpg
STCmcu-program_G7_out1.jpg

使用特权

评论回复
iamstarter|  楼主 | 2020-6-1 15:45 | 显示全部楼层
谢楼上!

《电脑圈圈教你玩USB》书中,写到CDC的串口给STC下载程序很好用,而且据我观察整个下载通信过程中,CDC串口从肉身感觉比CH340更快,当然肉身感觉可能不靠谱。

我又去看了下STC提供的单片机下载ISP的例程,里面对串口的设置要求1个偶检验位,而我们通常都是无奇偶校验,不知道是不是这个原因导致目标单片机快速的退出了ISP模式。

使用特权

评论回复
评论
iamstarter 2020-6-3 16:43 回复TA
@autopccopy :偶校验会不会对下载影响 
autopccopy 2020-6-3 09:14 回复TA
@iamstarter :我试过,使用另一个51单片机对STC15进行编程成功。(基本就是使用例程的代码稍作修改而已) 
iamstarter 2020-6-2 17:08 回复TA
@autopccopy :昨天晚上想着试一下STCISP上面给的下载例程,为了调试方便,就直接用想着用Qt写上位机来测试。后来才发现Download里面一大堆While(1)不太好处理,还没有成功。 
autopccopy 2020-6-2 08:45 回复TA
欢迎探讨!:) 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

22

帖子

0

粉丝