完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在箭头处打个断点无论服务器有木有给GPRS模块发送数据只要程序运行都会进入到这个断点这儿 中断函数不是要服务器给GPRS发送数据的时候才会进入这个接收中断吗?
[C] 纯文本查看 复制代码 if(USART2_RX_STA&0X8000)//接收到一次数据了{ USART2_RX_BUF[USART2_RX_STA&0X7FFF]=0;//添加结束符 printf("%s",USART2_RX_BUF);//发送到串口 if(hbeaterrcnt)//需要检测心跳应答{if(strstr((const char*)USART2_RX_BUF,"SEND OK"))hbeaterrcnt=0;//心跳正常}p2=(u8*)strstr((const char*)USART2_RX_BUF,"+IPD");if(p2)//接收到TCP/UDP数据{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);Show_Str(30,130,180,190,p2+1,12,0); //显示接收到的数据 }USART2_RX_STA=0;这个是将接收到的数据进行相关处理的那一块[C] 纯文本查看 复制代码 USART2_RX_BUF[USART2_RX_STA&0X7FFF]=0;//添加结束符[C] 纯文本查看 复制代码 [mw_shl_code=c,true]p2=(u8*)strstr((const char*)USART2_RX_BUF,"+IPD");[C] 纯文本查看 复制代码 [mw_shl_code=c,true]p2=(u8*)strstr((const char*)p2,":");这几句代码这样写也不懂为什么要查找RX_BUF里面的+IPD这个字符串和':'这个字符串。 [/mw_shl_code][/mw_shl_code] |
|
相关推荐
7个回答
|
|
|
|
|
|
嗯嗯 我现在知道为什么会自动进入中断了 是因为发送AT指令的时候会返回相关的字符,所以会进入中断。但是我还是不知道为何服务器发给GPRS发送数据的时候 GPRS有时候接收不到呢 ?原子哥 您以前测试这个GPRS程序的时候有出现过这个情况吗?
|
|
|
|
|
|
|
|
请问原子哥以下几个问题
1、p2=(u8*)strstr((const char*)USART2_RX_BUF,"+IPD"); 这句话的意思查找RX_BUF里面出现的+IPD这个字符的位置是不是这个字符之后的数据就是服务器发送给GPRS接收到的数据了? 2、p3=(u8*)strstr((const char*)p2,","); 这句话的意思是查找p2这个字符串里的“逗号”是不是接收到的数据例如12345应该是1,2,3,4,5这样放在RX_BUF里面的?这儿可以通过“逗号”的个数判断接收到几个字节的数据? 3、p2=(u8*)strstr((const char*)p2,":"); 这句话查找p2中的“:”字符,这个“;”是不是接着+IPD:这样的 那么服务器发送过来的12345这几个数据在USART2_RX_BUF里面存储形式是不是这样的+IPD:1,2,3,4,5, 这样我要判断收没收到服务器发送来的数据首先的查找到USART2_RX_BUF里面有木有出现+IPD:这个字符,如果出现了则表示服务器有发送数据给GPRS,接着+IPD:后面的数据就表示是服务器发送过来的? 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); Show_Str(30,130,180,190,p2+1,12,0); //显示接收到的数据 |
|
|
|
|
|
|
|
|
|
|
|
ATD*99***1#
CONNECT 拨号后输入数据PPP请求数据包:7EFF7D23C0217D217D217D207D347D227D267D207D207D207D207D257D267D202147247D277D227D287D22F8BE7E 串口为何收不到数据: |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2543 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2331 浏览 5 评论
3155 浏览 3 评论
2801 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2759 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
607浏览 1评论
852浏览 0评论
965浏览 0评论
618浏览 0评论
445浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:52 , Processed in 1.180735 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号