STC89c52单片机移植机智云协议
本程序依据唐七星程序进行修改,本人大二刚学单片机小白 ,通过对唐七星程序进行更改实现了目前协议适配。唐七星程序依照的协议与目前协议有些许改变,目前数组数据量增加,当我一开始进行移植时,发现数组数据扩充后,数据传输总是错误,在目前程序中最大数组有115项数据,而唐七星当时协议数组最大只有75个数。
目前协议涉及最大的通信数组
唐七星老师程序里最长数组
PS:两个都是WiFi请求设备信息mcu的回复
我修改代码后,串口调试发现通信总是发送错误数据,而后我发现最大数据改为20或90都可正常通信,搞不清到底是为何,个人猜测是RAM不够用才导致这种错误,不过本人实在太菜,找不到什么理由了,望知道的大佬可以解答一下。:lol
我的解决方法是把所有数据都存在rom用code关键字, 可能有同学会问:这样没法对数组进行更改了啊?
别急, 我们可以定义一个数组 S【115】 用这个数组来读取这些数组数据后进行更改,115数据的那个自然不必多说,至于那些9,10,11,12个数据的数组,我们可以赋值给s【115】的前9,10,11,12个值 至于后面的,我们不去管它, 因为发送数据的时候,我们只发送这前几个数据。
使用code储存数组
s【115】提取数组
数组发送程序
实际上代码还需完善 我并没有按键配网,之前固件烧录后调试已经绑定过了 所以我的没有问题。
以下是程序及效果压缩包
程序中控制led灯我并没有改动唐七星老师程序不过并不影响我的项目因为我只有控制一个ledhhh懒得注释了{:3_48:}
压缩包里还有我运行的视频请忽略桌子上的樱桃核。。。。。
真棒 ,感谢分享哦~~ 66666666666 感谢分享
页:
[1]