打印

求助用SIM900A发送短信,发送一个变量

[复制链接]
1895|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nmgz|  楼主 | 2016-3-18 23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用超声波测量水位,数据已经得到而且可以在电脑上用调试助手显示,1602也可显示,我最终是想把这数据用SIM900GSM模块发到手机上,用英文短信,传输的数据基本稳定在一个数值,可把数据用短信传到手机上难倒了我了,请大神指教。
情况说明如下:
1、短信发送程序是可以正常工作的,
Uart1Sends("AT+CMGS=\"13954655555\"\r\n");//此处修改为对方的电话号
   delay(60);//延时3秒
    Uart1Sends("S");//修改短信内容,短信内容可为英文和数字,S是我要传输的水位数据
    Uart1Send(0x1a);
2、水位数据计算也正常的
float Conut()
{
         float num;
         unsigned long T=0;
         time=TH0*256+TL0;
         TH0=0;
         TL0=0;
         num=time/58;     //算出来是CM
3、主函数中S的调用也正常吧
  while (1)
    {  
            StartModule();
            while(!ECHO);  //当RX为零时等待,为1跳出开始计时
            TR0=1;       //开启计数
            while(ECHO);   //当RX为1计数并等待
            TR0=0;    //关闭计数
            S=Conut();   //计算
          
            //printf("the distance is %3f",S);
           ES=0;
           SBUF=S;
           while(!TI);
           TI=0;
情况大概就是这样,但这几个合在一起就不能正常工作,请熟悉的大神赐教,感兴趣的我在提供详细说明,搞了好多天,崩溃了,谢谢




相关帖子

沙发
nicam| | 2016-3-19 09:09 | 只看该作者
你需要一个单片机采集这个水位信息,然后通过发短信去读单片机采集的数据,然后单片机短信发送短信保含水位信息给接收手机

使用特权

评论回复
板凳
nicam| | 2016-3-19 09:10 | 只看该作者
没看到你提到下位机(单片机)

使用特权

评论回复
地板
nmgz|  楼主 | 2016-3-19 21:35 | 只看该作者
谢谢楼上回复,我计划是用单片机实现的,STC89C52,先用单片机连HC-SRO4超声波测距模块,可以把数据发送到电脑调试助手显示,然后再用单片机连GSM,也可以实现发短信的功能,现在我要他这两个程序合成在一起,实现单片机控制这两个模块,发出我测得水位数据,在编程这一块难住了,怎么发送我的水位数据这个变量呢?

使用特权

评论回复
5
AVRx007| | 2016-4-27 16:15 | 只看该作者
这个 S  需要是ASCII

例如你传输  305  ,实际上需要 发送 "305"   ,
SBUF = 0x33
SBUF = 0x30
SBUF = 0x35

而且你的while(1) 里面没有再发送  AT+CMGS=\"13954655555\"\r\n" 之类开始命令

使用特权

评论回复
6
帮顶

使用特权

评论回复
7
SIM900A 好像停产了咩!还在用它吗?

使用特权

评论回复
8
nmgz|  楼主 | 2016-5-8 22:06 | 只看该作者
还在用呀,那你们用什么实现远程传输呢?

使用特权

评论回复
9
michaellengleng| | 2016-7-25 17:43 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

73

帖子

0

粉丝