完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这个是收短信的函数,可是显示出来的p1是整段数据(号码,时间和内容),好像没有运行过strstr这个函数似的。到了这一步就停止了,没有往下执行,请大神指导下我程序的不足。
void read_msgs(void){ u8 *p,*p1; p=mymalloc(SRAMIN,200); LED1=1;LED0=1; usart2flag=0;USART2_RX_STA=0;while(1){if(usart2flag==1) //在定时器加的一个标记位{ usart2flag=0;p1=(u8*)strstr((const char*)(USART2_RX_BUF),","); //从串口收到的数据中提取出当前短信存到哪个位置sprintf((char*)p,"AT+CMGR=%s",p1+1);Show_Str_Mid(0,30,p,16,240); if(sim900a_send_cmd(p,"+CMGR:",200)==0){p=0;p1=0;p1=(u8*)strstr((const char*)(USART2_RX_BUF),"r"); //寻找回车符Show_Str(30,105,180,75,p1+2,12,0); //显示短信内容的UNICODE码sim900a_unigbk_exchange(p1+2,p,0); //unicode码转GBK Show_Str(30+30,105,180,75,p,12,0); //显示短信内容}USART2_RX_STA=0;p=0;p1=0; } myfree(SRAMIN,p);}} |
|
相关推荐
2个回答
|
|
|
|
|
|
能收到。前面那个判断存储位置的strstr能执行,后面提取内容那个不能。strstr这函数是从字符串str1中查找是否有字符串str2,如果有,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回null。有输出值的。
第二个strstr我寻找回车符,不是就能把短信内容给提取出来么?原子哥也是这样做的吧。 或者兄弟你能指点一下么? |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2569 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2365 浏览 5 评论
3210 浏览 3 评论
2837 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2789 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
669浏览 1评论
906浏览 0评论
1027浏览 0评论
672浏览 0评论
500浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 18:11 , Processed in 1.338428 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号