您的位置 首页 观点

STC12C系列的协议剖析

这个版本的协议和以前已经有了比较大的改变,包括包头等等。但是STC有一个千年不变的开启帧:0x7F,在STC15系列的MCU,仍然使用着这个ISP的

这个版别的协议和曾经已经有了比较大的改动,包含包头等等。可是STC有一个千年不变的敞开帧:0x7F,在STC15系列的MCU,依然使用着这个ISP的敞开帧。原因我不说我们也理解

那么进入主题:STC12系列下载的帧格局:

协议帧简介:首要构成如下

Head

Sign

Reserved

Length

Frame

Data

Checksum

Trail

各个填充区具体阐明:

称号

长度

功用

Head

2-Byte

包头 (0×46,0xB9)

Sign

1-Byte

标识 (0x6A或0×68)

Reserved

1-Byte

预留区 (填充0×00)

Length

1-Byte

(Head + Length + Frame+Data)的总长

Frame

1-Byte

用以区别不同的帧

Data

0~0x8A Bytes

数据

Checksum

2 Byte

校验和

Trail

1 Byte

包尾 (0×16)

至于Cmd的协议应对之类的:

指令 阐明 MCU回应
7F 引导MCU进入ISP并丈量时钟 50 MCU选项信息

50 设置MCU类型等 8F 应对

8F 新波特率测验 8F 测验应对

8E 正式修正波特率 84 修正波特率应对

84 文件容量,擦除芯片 00 应对

00 下载程序 00/30 应对校验和,成功或失利

30 从头下载程序 00/30 应对校验和

69 类型等 8D 应对

8D 设置选项 50 应对选项

82 退出 重启进用户程序

至于交互进程,也算是简略的,便是看你的设备反应速度了。这便是为什么某些PL2303线下载老犯错的原因,不过我这儿至少用的挺好。

PC ->0x7f ->MCU

MCU ->信息 ->PC

PC -> 核对?MCU类型 -> MCU

MCU ->波特率改变恳求 ->PC

PC ->波特率测验 ->MCU[此刻,核算重载值切换波特率】

MCU ->成功/无回应 -> PC

PC ->波特率设置 ->MCU [切换到最低波特率上去

MCU ->成功/无回应 ->PC [切换到数据波特率上去

PC -> 擦除芯片 -> MCU

MCU ->成功/无回应 ->PC

PC -> 0x80个字节数据 ->MCU

MCU -> 校验码 ->PC

循环到文件完毕

PC ->设置?类型 ->MCU

MCU ->成功/无回应 -> PC

PC ->设置选项 ->MCU

MCU ->成功/无回应 -> PC

PC ->编程完毕 ->MCU

校验和算法是将标识到数据区的内容通通加起来,取低十六位,看程序:

01 PUBL%&&&&&% FUNCTION CheckSum(buff ASString, start ASInteger, endchr ASInteger) ASString回来两个字
02 DIM i ASInteger
03 DIM chkSum ASLong
04 DIM lo ASByte
05 DIM hi ASByte
06 DIM tempStr ASString
07 chksum = 0
08 FOR i = start TO endchr
09 chksum = chksum + Asc(Mid(buff, i, 1))
10 NEXT
11 hi = Shr(chksum AND &HFF00, 8)
12 lo = chksum AND &H00FF
13 tempStr = Chr(hi) & Chr(lo)
14 RETURN tempStr
15 END

关于STC12C5Ax系列的信息帧,这儿有一张他人剖析的图:

至于固件版别我这儿测验的有:

1 6.6I : 66 49
2 6.2I : 62 49

关于晶振速度的核算:

如果是规范12M时钟,1200Kps波特率,则计数值为1/1200*7 = 5833uS,数值也为5833。将八次技能求均匀(假设为18 94=6292),则此刻单片机时钟频率=6292*12M/5833 = 12.994MHz。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/255411.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部