OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4388|回复: 1

有关服务器发GPRS数据,stm32F4接收解析GPRS数据问题

[复制链接]

95

主题

549

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3293
金钱
3293
注册时间
2016-1-7
在线时间
541 小时
发表于 2017-5-13 15:09:45 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 challenger 于 2017-5-13 15:21 编辑

if(p2) 接收到TCP数据
                        {
                                p3=(u8*)strstr((const char*)p2,",");
                                p2=(u8*)strstr((const char*)p2,":");
                                p2[0]=0;
                                sprintf((char*)p1,"收到%s字节,内容如下:",p3+1);//接收到的字节数
                                LCD_Fill(30+54,115,239,130,WHITE);
                                POINT_COLOR=BRED;
                                Show_Str(30+54,115,156,12,p1,12,0); //显示接收到的数据长度
                                POINT_COLOR=BLUE;
                                LCD_Fill(30,130,210,319,WHITE);
                                Receiver=(p2+1);
                               Show_Str(30,130,180,190,Receiver,12,0); //显示单片机接收到服务器的数据
                                
                                if(*Receiver==0x30)
                                {
                                        Show_Str(30,150,180,190,"收到数据:0",12,0); //显示网络助手发给单片机的数据
                                }
                                else if(*Receiver==0x31)
                                {
                                        Show_Str(30,150,180,190,"收到数据:1",12,0); //显示网络助手发给单片机的数据
                                }
                                else if(*Receiver==0x32)
                                {
                                        Show_Str(30,150,180,190,"收到数据:2",12,0); //显示网络助手发给单片机的数据
                                }
                                else if(*Receiver==0x33)
                                {
                                Show_Str(30,150,180,190,"收到数据:3",12,0); //显示网络助手发给单片机的数据
                                }
                                else if(*Receiver==0x61)
                                {
                                Show_Str(30,150,180,190,"收到数据:a",12,0); //显示网络助手发给单片机的数据
                                }
                                else if(*Receiver==0x62)
                                {
                                Show_Str(30,150,180,190,"收到数据:b",12,0); //显示网络助手发给单片机的数据
                                }
                                        else if(*Receiver==0x41)
                                {
                                Show_Str(30,150,180,190,"收到数据:A",12,0); //显示网络助手发给单片机的数据
                                }
                                else if(*Receiver==0x6162)
                                {
                                Show_Str(30,150,180,190,"收到数据:ab",12,0); //显示网络助手发给单片机的数据
                                }
                                else if(*Receiver==0x3131)
                                {
                                Show_Str(30,150,180,190,"收到数据:11",12,0); //显示网络助手发给单片机的数据
                                }
                                else if(*Receiver==0x80E1)
                                {
                                        Show_Str(30,150,180,190,"收到数据:胡",12,0); //显示网络助手发给单片机的数据
                                }

                                else
                                {
                                Show_Str(30,150,180,190,"解析收到服务器数据不对",12,0); //显示网络助手发给单片机的数据
                                }
                        }

利用sim800c GPRS模块,以上是服务器发GPRS数据,stm32F4解析GPRS数据的问题,从网络助手(即服务器)发单个0-9,A-F字符,stm32单片机可以正常解析并显示,但若发字符串如:11,    ab及汉字:胡 ,解析都不对,我从网络助手发:11,解析还是:1,正常情况下,发1,应该用ascii 0x31解析,那么发11 解析的ascii是多少呢?不是0x3131吗?还有发ab,解析也不对,以上红字代码解析都不对,总之两个以上字符都不对,还有发汉字也不对,请问字符串及,汉字是以什么码解析的?求教论坛大神们!!!因为单片机接收服务器发过来的协议都是一串字符,一般都不是单个字符,诚心求教!!!请指教!  如我服务器发送: FA 01 02 03 04 05 06 FF ,这一串协议字符,单片机接收怎么处理呢?是以什么码解析呢?

最佳答案

查看完整内容[请看2#楼]

我用指针数组完美的解决了数据解析问题。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

95

主题

549

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3293
金钱
3293
注册时间
2016-1-7
在线时间
541 小时
 楼主| 发表于 2017-5-13 15:09:46 | 显示全部楼层
本帖最后由 challenger 于 2017-5-14 21:55 编辑

我用指针数组完美的解决了数据解析问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 04:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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