| 
 
| 我用超声波测量水位,数据已经得到而且可以在电脑上用调试助手显示,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;
 情况大概就是这样,但这几个合在一起就不能正常工作,请熟悉的大神赐教,感兴趣的我在提供详细说明,搞了好多天,崩溃了,谢谢
 
 
 
 
 
 | 
 |