收藏官网首页
查看: 145|回复: 1

[经验分享] STC89c52单片机移植机智云协议

2

主题

2

帖子

246

积分

中级会员

Rank: 3Rank: 3

积分
246
 楼主| 发表于 2020-5-20 22:40:45 | 显示全部楼层 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
本程序依据唐七星程序进行修改,本人大二刚学单片机小白 ,通过对唐七星程序进行更改实现了目前协议适配。
唐七星程序依照的协议与目前协议有些许改变,目前数组数据量增加,当我一开始进行移植时,发现数组数据扩充后,数据传输总是错误,在目前程序中最大数组有115项数据,而唐七星当时协议数组最大只有75个数。

QQ截图20200520212939.png
目前协议涉及最大的通信数组
QQ截图20200520214053.png
唐七星老师程序里最长数组

PS:两个都是WiFi请求设备信息mcu的回复

      我修改代码后,串口调试发现通信总是发送错误数据,而后我发现最大数据改为20或90都可正常通信,搞不清到底是为何,个人猜测是RAM不够用才导致这种错误,不过本人实在太菜,找不到什么理由了,望知道的大佬可以解答一下。
      我的解决方法是把所有数据都存在rom  用code关键字, 可能有同学会问:这样没法对数组进行更改了啊?
       别急, 我们可以定义一个数组 S【115】 用这个数组来读取这些数组数据后进行更改,115数据的那个自然不必多说,至于那些9,10,11,12个数据的数组,我们可以赋值给s【115】的前9,10,11,12个值 至于后面的,我们不去管它, 因为发送数据的时候,我们只发送这前几个数据。
       QQ截图20200520215014.png
         使用code储存数组

QQ截图20200520215215.png
s【115】提取数组

QQ截图20200520215338.png QQ截图20200520215351.png

数组发送程序



实际上代码还需完善 我并没有按键配网,之前固件烧录后调试已经绑定过了 所以我的没有问题。
以下是程序及效果压缩包  
程序中控制led灯我并没有改动唐七星老师程序  不过并不影响我的项目  因为我只有控制一个led  hhh  懒得注释了
压缩包里还有我运行的视频  请忽略桌子上的樱桃核。。。。。



CD66C04FD8CCFF44DD20F6BA6912A9E7.zip

1005.92 KB, 下载次数: 6, 下载积分: 威望 1

视频

main.zip

2.11 KB, 下载次数: 2, 下载积分: 威望 1

教室 - 机智云WiFi类设备接入协议文档-MCU方案.pdf

150.43 KB, 下载次数: 8, 下载积分: 威望 1

84

主题

278

帖子

4894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4894
发表于 2020-5-21 14:18:50 | 显示全部楼层
真棒 ,感谢分享哦~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表