STC单片机的下载协议
时间:11-29
来源:互联网
点击:
是
FF 重载值 00 00 06 等待回应值 ISP定时常数
重载值的上面已经贴出GAMBAS的计算方式。对于PL2303芯片这种打开和关闭速度比较慢的串口,等待回应值我喜欢用0xE0。因为可以在比较快的速度下不出错。ISP定时常数推荐使用0×81。我测试到50M的外部时钟都不出问题。
然后PC必须在规定的时间内切换到新的波特率上,等待MCU的回应。
MCU的回应PC的帧一模一样,只是标识和校验和有差别。
然后再次重复。只不过不发送ISP定时值。
接着一番交互以后:
1 | Sent:46B9 6A000C8002003601F0022116 |
2 | recv:46B968000680EE16 |
这一段代码似乎是固定的。
PC就会向MCU发送擦除命令。很简单,直接顺序发出去即可:
1 | 46B9 6A000D84023333333333332F16 |
然后接受到MCU的回应后。发送ROM数据包:
ROM数据包的格式很简单
0×00(标识)+0×00 0×00(填充) +高八位地址+低八位地址+0×00+长度(一般固定0×80,后面填充就OK了)+数据
然后MCU的回应也比较简单:
1 | 46B968000780796816 |
0×80是标识。
至于0×79就是写入的时候返回的校验和了。算法就是把上一次发送的数据部分用一次加法校验和。
循环到终点,就发送设置选项命令:
1 | 46B9 6A000A 8D FD FF F4 FF F016 |
其中的0xFD君就是选项信息了。参见信息帧的介绍章。
等待MCU回应后,发送退出帧让MCU复位。执行用户程序。
STC89系列的先介绍到这里。
STC单片机下载协 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)