菜鸟,STM32+SIM900短信不会发,求助!谢谢!

2019-08-19 20:46发布

选到了这个毕设,自己几年前学的基础C程,接触STM32和SIM900,需要用到短信收发,但不会发,翻了帖子没看见有人问这么傻的问题,所以厚着脸问
用了原子哥的例程,发送的后两行代码:u3_printf("hm")
                                                         sim900a_send_cmd((u8*)0X1A,"+CMGS:",1000)   
                                                     发送后XCOM的反应如图:

自己感觉这个也是有问题的,但是没有更靠谱的想法。到底要怎么发呀,求助! 微信图片_20170502153332.png

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
n864
1楼-- · 2019-08-19 20:47
你的问题很好,我来抢个沙发
正点原子
2楼-- · 2019-08-20 00:04
别通过单片机,直接串口调试下,就知道怎么干了。
柯墨爱
3楼-- · 2019-08-20 02:00
 精彩回答 2  元偷偷看……
yuzeyuan1
4楼-- · 2019-08-20 06:22
柯墨爱 发表于 2017-5-3 10:12
但是但是我这个必须要通过单片机控制才符合设计...直接用串口调试sim900就没意义,况且直接用串口调 ...

原子哥的意思是:你先用电脑的串口助手把短信测出来再考虑用单片机。
就几条AT指令。连电脑测试都不会就没人帮你了,你确定测试通过了再来发图片帖子说嘛。上来就拿单片机抓,调不成功就一条一条再发?光短信费用都搞死你。。。
柯墨爱
5楼-- · 2019-08-20 09:10
yuzeyuan1 发表于 2017-5-3 11:08
原子哥的意思是:你先用电脑的串口助手把短信测出来再考虑用单片机。
就几条AT指令。连电脑测试都不会就 ...

哦,谢谢!但我的意思是已经实现用电脑串口助手直接控制sim900收发短信,但是呢,通过单片机就不会发消息了。。
yuzeyuan1
6楼-- · 2019-08-20 09:12
柯墨爱 发表于 2017-5-3 11:58
哦,谢谢!但我的意思是已经实现用电脑串口助手直接控制sim900收发短信,但是呢,通过单片机就不会发消息 ...

除了发短信外,有一些配置命令需要先发,你确定都发对了吗?模块会给你回复,是不是OK?看一下先。
uint8 AT_CMGF[] = "AT+CMGF=1 ";  //设为文本模式
uint8 AT_CSCS[] = "AT+CSCS="GSM" ";  //设置GSM字符集
uint8 AT_CNMI[] = "AT+CNMI=2,1 ";  //设置新消息提示
uint8 AT_CMGD[] = "AT+CMGD=1 ";  //删除全部短信

        while(OK_OR_NOK == 0)
        {
                OK_OR_NOK = sim900a_send_cmd(AT,sizeof(AT),"OK",100);
        }

        sim900a_send_cmd(AT_CMGF,sizeof(AT_CMGF),"OK",100);
        sim900a_send_cmd(AT_CSCS,sizeof(AT_CSCS),"OK",100);
        sim900a_send_cmd(AT_CNMI,sizeof(AT_CNMI),"OK",100);

需要先发这几条命令。才能让模块干活。
        while(temp<length-1)           //这里用你自己的字符串长度
        {
                while((UART4->SR&0X40)==0);  
                UART4->DR = cmd[temp];
                temp++;
        }
        rt_thread_delay(time);
    //读串口数据并荐到buf里,数据个数是com_data_len.
  com_data_len = rt_UartReadGSM(buf);
sim900a_send_cmd内容我就不多发了,和你的都没关系。内容就是把数据按字节一个个发出去,50ms后接收信息,如果收到的是OK就返回1,如果是ERROR或是没有就返回0。
我在淘宝上买的SIM900A,卖家会给你手册的,你看手册去写自己的命令

一周热门 更多>