收藏官网首页
查看: 16506|回复: 3

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

2

主题

2

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
跳转到指定楼层
楼主
 楼主| 发表于 2020-5-20 22:40:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
本程序依据唐七星程序进行修改,本人大二刚学单片机小白 ,通过对唐七星程序进行更改实现了目前协议适配。
唐七星程序依照的协议与目前协议有些许改变,目前数组数据量增加,当我一开始进行移植时,发现数组数据扩充后,数据传输总是错误,在目前程序中最大数组有115项数据,而唐七星当时协议数组最大只有75个数。


目前协议涉及最大的通信数组

唐七星老师程序里最长数组

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

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


s【115】提取数组



数组发送程序



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



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

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

main.zip

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

CD66C04FD8CCFF44DD20F6BA6912A9E7.zip

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

视频

134

主题

405

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11820
沙发
发表于 2020-5-21 14:18:50 | 只看该作者
真棒 ,感谢分享哦~~

0

主题

4

帖子

64

积分

注册会员

Rank: 2

积分
64
板凳
发表于 2022-4-6 17:09:37 | 只看该作者
66666666666
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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