就是怎样通过mscomm1控件连上手机??我使用nokia8250手机,通过手机数据线连在计算机的com3口上, 我使用网上下载的一个程序可以连上这个手机,并且可以发短信!可是我自己写程序却连不上. 所有设置如下:
mscomm1.commport := 3;  mscomm1.settings := 115200,n,8,1;  mscomm1.RThreshod := 1; 并写了如下程序:
procedure TForm1.FormCreate(Sender: TObject);
begin
  mscomm1.PortOpen := true;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
  mscomm1.Output := 'AT';
end;procedure TForm1.MSComm1Comm(Sender: TObject);
begin
  if mscomm1.Input <> '' then
    ShowMessage('in');
end;-----------------------
当我点击button1, 没有办法触发ShowMessage('in'),也就是说, 收不到串口传回来的'OK'字符,连不上, 请帮我分析一下, 我应该怎么做, 多谢了!!!!!

解决方案 »

  1.   

    我以上的程序是根据网上看见的这句话翻译的::点击超级终端工具条上的呼叫按钮,输入AT并回车,屏幕上如果出现OK则表明计算机与手机的连接成功,这时就可以输入各类GSM AT指令了。
      

  2.   

    nokia8250的波特率是115200么?  或许是做了一点别的什么吧!
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      mscomm1.Output := 'AT' Chr(13) + Chr(10);   //后面加换行回车即可!
    end;procedure TForm1.MSComm1Comm(Sender: TObject);
    begin
      if Mscomm1.Commevent = 2 then    //当缓冲区至少有1个字节的时候
       begin
         //立即取数据肯定不全,对吧?  楼主应该知道这个延时时间怎么算吧? 10*6/115200
         sleep(200);
         ShowMessage(Mscomm1.Input);  
       end;
    end;
      

  3.   

    mscomm1.Output := 'AT' + Chr(13) + Chr(10);   少了一个 +  自己加上
      

  4.   

    1.suuare(督察)的方法对头,一般手机接受到AT指令会有几毫秒的延时。发短信并得到确认更长一般一秒以上。
    2.波特率却是设的太高,一般9600或者4800就可以了,一般手机模块和GPS都可以设为这两个数值
      

  5.   

    不知楼主试验成功没有,我的在超级终端这一块都不成功
    如果试验成功,请mail:[email protected]
      

  6.   

    对了,楼主,你装了nokia的datasuite3没有,好像必须装上后才能与手机通讯的
    因为nokia的手机和摩托罗拉,西门子的不一样