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