微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STC单片机的下载协议

STC单片机的下载协议

时间:11-29 来源:互联网 点击:

FF 重载值 00 00 06 等待回应值 ISP定时常数

重载值的上面已经贴出GAMBAS的计算方式。对于PL2303芯片这种打开和关闭速度比较慢的串口,等待回应值我喜欢用0xE0。因为可以在比较快的速度下不出错。ISP定时常数推荐使用0×81。我测试到50M的外部时钟都不出问题。

然后PC必须在规定的时间内切换到新的波特率上,等待MCU的回应。

MCU的回应PC的帧一模一样,只是标识和校验和有差别。

然后再次重复。只不过不发送ISP定时值。

接着一番交互以后:

1Sent:46B9 6A000C8002003601F0022116

2recv:46B968000680EE16

这一段代码似乎是固定的。

PC就会向MCU发送擦除命令。很简单,直接顺序发出去即可:

146B9 6A000D84023333333333332F16

然后接受到MCU的回应后。发送ROM数据包:

ROM数据包的格式很简单

0×00(标识)+0×00 0×00(填充) +高八位地址+低八位地址+0×00+长度(一般固定0×80,后面填充就OK了)+数据

然后MCU的回应也比较简单:

146B968000780796816

0×80是标识。

至于0×79就是写入的时候返回的校验和了。算法就是把上一次发送的数据部分用一次加法校验和。

循环到终点,就发送设置选项命令:

146B9 6A000A 8D FD FF F4 FF F016

其中的0xFD君就是选项信息了。参见信息帧的介绍章。

等待MCU回应后,发送退出帧让MCU复位。执行用户程序。

STC89系列的先介绍到这里。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top