1、串口太多不现实。
2、我们的终端不会回应,我们等待10s是为了保证程序有时间将数据通过串口发送到MODEM。

解决方案 »

  1.   

    数据通过串口发送到MODEM  要10s吗?
    将硬件物理链路说一说
      

  2.   

    我们测试过,在前一条短信发送之后,如果中间不等待10S(最小5S),后一条短信发不出去。
    我们的物理链路很简单:由串口直接连接MODEN,发送短信。
    大家一起来帮忙想想吧。
      

  3.   

    你的终端和modem有什么关联?
      

  4.   

    你的意思是不是通过一台电脑和一个modem发送端消息给上百个用户?
    要是这样的话你应该考虑多加几个modem
      

  5.   

    1。终端和modem用短信联系。
    2。我也知道等待会很慢,可是现在没有更好的办法。你有吗?
      

  6.   

    1.终端和modem用短信联系。
    2。慢是现在问题所在,我在琢磨更好的方法。我也希望大家能帮我。
      

  7.   

    我们测试过,在前一条短信发送之后,如果中间不等待10S(最小5S),后一条短信发不出去。
    我们的物理链路很简单:由串口直接连接MODEN,发送短信。
    大家一起来帮忙想想吧。
    为什么会这么慢?
    我想你发一个文件可能是写了一个函数了,
    每回发一个短信的时候就去调这个函数,
    而这个函数把打开串口,和关闭串口也写在里面了,
    发数据没这么慢,我想打开猫就不知是不是??
      

  8.   

    在串口通信中,有些时候需要使用RTS,如果某设备将线路置为RTS状态,则只有该设备可以往线路上送数据,送完后再将RTS清除,让其他设备可以继续使用线路,不知你那里有没有这种情况。
    我觉得还是不要用MSCOMM,自己写程序好用些,我要在什么时候写,什么时候读都能很好地控制,同时我还可能查询在发送缓冲区里的数据,如果发送缓冲区里的数据为0了,说明该条信息已经全部发送出去,否则等待发送缓冲区数据为0,而且即便线路距离很长,传输速度也是很快的。我写的程序通过MODEM传输的距离都是在数百公里以外,速度很快,很少出错。最好用线程方式操作,MSCOMM并不是线程级的。
    建议你自己写通信程序。
      

  9.   

    建议你通过internet发送,又快,又便宜。
      

  10.   

    问题解决了.问题的关键是发送一条短信给Moden后需要等到Moden回应之后才能发送第二条短信.而这个时间是不定的.我用的方法是,检测Moden回应数据,如果收到'OK',发送第下一条.
    大家的建议都不错.贴子留两天后,分数如数给大家.
      

  11.   

    刚刚进来,问一个疑惑的问题,串口接Modem如何发送短信啊?Modem走的不是PSTN的线路吗?短信的发送不是要通过手机的吗,难道是用数据线将手机和串口连接起来再发?
      

  12.   

    不知老兄们知不知道,如何在串行口中,一次传输9bit数据(8bit表示数据,1bit数据表示传输的是地址信息还是数据信息---这种工作方式,可以与mcs51的串行口工作方式3连接起来。)。在dos下,可以通过直接置位硬件的存储器实现。但是在windows下,死后不行,不知各位有什么好的方法。
      

  13.   

    用一个GSM模块或手机,我测试过,发送100条最快只用了98秒(当信号满格,并且确认每条收到,然后COM口到手机或GSM模块为115200),我用VC实现的,所以发送20条应该是小于30秒,绝不会如此慢。我开始写的时候的也很慢,一定要用多线程,然后发送队列和通讯要处理好。
      

  14.   

    我想你在做一个大的监控系统吧,或者是什么调度系统,也许是什么广告系统,呵呵,其实,你有几种方法:(1、你的短信moden可能不是很好(我做过这方面的系统),10s我觉得是不可能的。(不过我的那个modern发完短信会有ok或error之类的回答)。如果你要想群发的话,好象还没有那个手机有这种功能,你如果要实现群发,(我估计1分中能发送600条左右的短信的话就是向移动公司租一条专线,连到他们的短信发送服务器,这只要做socket通信就可以了)。我认为你们的系统应该是做成这样子。
      

  15.   

    我一般串口都是用CREATEFILE等函数,这类函数当向串口写完数据后,操作系统会给你的应用程序返回一个值,让你知道是否数据已经发送完毕的。所以我想你用这些函数就很简单了。
      

  16.   

    用别人做好的东西来做东西很不方便的,多了解点WINDOWS下的函数就很方便做东西了。如果有问题可以联系我
      

  17.   

    你好,我是移动公司的,你的这个问题主要根源在于你的硬件设备本身能力有限,这是不可能通过软件来解决的。有两种办法,一个上面有人已经说了,增加串口和MODEM,其实就是增加了整个系统发送短信息的能力。二,可能也是最好的方法,就是通过专线和移动公司直连,不仅解决了这个问题,而且短信息的量如果比较大还可以得到优惠(比一角钱便宜),系统的处理能力和稳定性也比较高。
      

  18.   

    发送9bit数据是针对单片机之间通讯的,在PC上可以通过改变校验位实现:
    先置Mark校验,发地址;
    再置Space校验,发数据。我写工控程序的,类似问题可以发邮件给我 [email protected]
      

  19.   

    补充一句:Win95/98/NT/2000下与单片机通讯都没问题。
      

  20.   

    很好!简直太妙了。向大家推荐一个http://www.csdn.net/expert/topic/853/853133.xml?temp=.3261835,我以前用过pb\dephi,做报表时非常痛苦,要是指定格式更是编得晕头。这个东东好像不错。而且就可以用vb来制作大型应用和商务应用了。
      

  21.   

    chengc(chengc) 说得对,移动的短信服务器的API接口是公开的,可惜好获得好的性能,必须和他们合作才好。 自己搞的东西肯定比他那个贵
      

  22.   

    菜鸟提问:
    如何实现通过串口发送短消息给手机的?
    是通过串口传递一条消息给移动的短消息中心,然后由移动短消息中心处理该消息进行发送吗?那就是说移动的短消息中心会有一个接入端来接受modem的拨号连接了。是这样的吗?
      

  23.   

    可以肯定,你没有使用群发设置的AT指令,这样就不要间隔5S的限制了。我试过。
    [email protected]
      

  24.   

    http://netsky.8866.org/program/SerialComm.htm