你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

简单的状态机框架,让所有人快玩转WIFI以及GPRS模块  

[复制链接]
技术范儿 发布时间:2016-11-21 13:40
阅读主题, 点击返回1楼
收藏 3 评论23 发布时间:2016-11-21 13:40
23个回答
epochal 回答时间:2017-9-22 22:00:55
好东西!谢谢分享!
会飞的雪花 回答时间:2017-9-22 22:35:11
void ESP8266HalRevData(uint8_t inPut)
{
      
        if(ESP8266Step.Step < IDLE)
        {
                ESP8266Step.ReveBuff[ESP8266Step.HalRevSize++] = inPut;
        if(ESP8266Step.HalRevSize == MAXREVESIZE)
        {
            memset(ESP8266Step.ReveBuff,0,MAXREVESIZE);
            ESP8266Step.HalRevSize = 0;
        }
        }
        else if(ESP8266Step.Step >= IDLE)
        {
        TCPTransmission.TcpRxBuff[TCPTransmission.TcpRxSize++] = inPut;


            TCPTransmission.TcpRevTime = GetTime();
        TCPTransmission.RevFlag = 0xff;
        }
               
}
//接收数量没做限制,有数组越界风险。
//增加限制及处理
新代码如下
void ESP8266HalRevData(uint8_t inPut)
{
      
        if(ESP8266Step.Step < IDLE)
        {
                ESP8266Step.ReveBuff[ESP8266Step.HalRevSize++] = inPut;
        if(ESP8266Step.HalRevSize == MAXREVESIZE)
        {
            memset(ESP8266Step.ReveBuff,0,MAXREVESIZE);
            ESP8266Step.HalRevSize = 0;
        }
        }
        else if(ESP8266Step.Step >= IDLE)
        {
        TCPTransmission.TcpRxBuff[TCPTransmission.TcpRxSize++] = inPut;
                    if(TCPTransmission.TcpRxSize >= MAXREVESIZE)
        {
            memset(ESP8266Step.ReveBuff,0,MAXREVESIZE);
            TCPTransmission.TcpRxSize = 0;
                                          TCPTransmission.RevFlag = 0;
        }
                                else
                                {
                                        TCPTransmission.TcpRevTime = GetTime();
          TCPTransmission.RevFlag = 0xff;
                                }             
        }               
}

欢迎批评指正

大陶 回答时间:2017-10-18 13:35:33
谢谢分享的
710184559 回答时间:2018-5-11 19:32:30
非常感谢,正需要做GPRS这块
zsaniu 回答时间:2018-8-30 17:02:25
谢谢分享,正好项目用到esp8266模块,可以参考一下流程
newphj 回答时间:2018-8-30 21:13:20
正好用上
西点钟灵毓秀 回答时间:2018-8-31 13:36:45
mark 了再来
00dd 回答时间:2018-9-29 15:41:49
ESP8266TCP_Struct
x88484532 回答时间:2020-10-29 08:50:57
下了学习,谢谢分享。
12

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版