美文网首页
17-STM32物联网开发WIFI(ESP8266)+GPRS(

17-STM32物联网开发WIFI(ESP8266)+GPRS(

作者: 杨奉武 | 来源:发表于2019-06-21 23:48 被阅读0次

    https://www.cnblogs.com/yangfengwu/p/10891914.html

    为了让大家会用我写的程序,而且敢用,所以我详细介绍一下我的单片机程序流程

    这里只说明稳定精简版的STM32程序,因为所有的都是在此基础上增加的.

    很基础的东西自行修炼:

    空闲接收数据: http://www.cnblogs.com/yangfengwu/p/8912072.html

    环形队列:https://www.cnblogs.com/yangfengwu/p/6822984.html

    单片机IAP:https://www.cnblogs.com/yangfengwu/p/6921832.html

    1-2节服务器:https://www.cnblogs.com/yangfengwu/category/1383497.html

    以这一节为例:我只是感觉这一节应该通用性比较强,AT指令版控制升级,而且回复的数据需要剔除网络模块自身增加的数据

    https://www.cnblogs.com/yangfengwu/p/10888037.html

    注:

    程序启动先检查上次更新的状态:

    上次刚写完用户程序;写入数据头地址不对;数据接收有误;用户程序没运行起来

     关于那个0x04:

    更新完成是0x01,然后写入0x04,更新完成会执行咱更新的用户程序,咱用户程序里面再把这个标志修改为0x00

    如果执行了

     到下面就会进入

     自己的模块已经链接上TCP了,现在就是发http协议,下载数据

     然后根据http获取的云端版本号,判断是不是需要升级

    然后看串口接收:

    我写的串口接收就是确定接收到HTTP的头数据,同时解析出来HTTP发过来的数据个数

    然后判断如果 Status == 2,下次的数据就写入环形队列

     如果自己的模块是http发过来什么就打印什么,直接可以

     如果模块自行添加了数据就需要剔除(只要保证往环形队列里面写的是用户程序就可以)

     在往环形队列里面写的时候,主函数里面同时读出来往Flash里面写

    写完,修改写的状态,复位重启

    其实需要用户修改的只是

    还有一点 ,64K到256K(不包括)用此程序没有问题,,256K及其以上的还没测试,正在做一块STM32F103RET6的板子,512KB Flash  将用这块板子测试

    我用的64K的

    可以自行更改,

    我为了大家方便修改用户程序

    大家修改完,IAP程序会打印一下两个用户程序的配置

    然后配置下

    只看一下用户程序1

    用户程序生成BIN就可以了,然后放到云端

    升级篇就先到这里.....学海无涯.

    https://www.cnblogs.com/yangfengwu/p/10991907.html

    相关文章

      网友评论

          本文标题:17-STM32物联网开发WIFI(ESP8266)+GPRS(

          本文链接:https://www.haomeiwen.com/subject/tsipqctx.html