線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1956
推到 Plurk!
推到 Facebook!

請教串口短信(簡訊)收發程式的一個問題

答題得分者是:hagar
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-28 11:19:28 IP:222.248.xxx.xxx 未訂閱
請教串口短信(簡訊)收發程式的一個問題 WaveCom的Modem通過串口連接電腦,程式中使用用AT指令進行短信的收發。 我使用ComPort Library元件來發送AT指令並接收回饋結果。 現在的問題是: 我應該如何來處理接收到的返回資料呢?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
Vicen
高階會員


發表:13
回覆:145
積分:151
註冊:2005-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-28 12:52:17 IP:221.226.xxx.xxx 未訂閱
这类可以参考的程式并不多,2CCC里有个相关例程,您可以参考一下。 http://www.2ccc.com/article.asp?articleid=209 呵呵,我可不是2CCC的托哦,只是这个站真的比较好,KTOP和2CCC是我每天必去的站。大家可以去看看的。http://www.2ccc.com
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-28 13:14:16 IP:222.248.xxx.xxx 未訂閱
引言: 这类可以参考的程式并不多,2CCC里有个相关例程,您可以参考一下。 http://www.2ccc.com/article.asp?articleid=209 呵呵,我可不是2CCC的托哦,只是这个站真的比较好,KTOP和2CCC是我每天必去的站。大家可以去看看的。http://www.2ccc.com
多謝!但我不是要這些基礎的資料,我是希望請教如何分析接收到的資料。
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
小蚊子
中階會員


發表:55
回覆:267
積分:94
註冊:2002-06-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-29 00:58:25 IP:211.78.xxx.xxx 未訂閱
引言: 現在的問題是: 我應該如何來處理接收到的返回資料呢?
不太了解您的原意??? 1. 是要接收返回的資料??? 加一個 Timer 元件 2. 還是資料已經接收,要處理它...........
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-29 09:53:47 IP:222.248.xxx.xxx 未訂閱
引言:
引言: 現在的問題是: 我應該如何來處理接收到的返回資料呢?
不太了解您的原意??? 1. 是要接收返回的資料??? 加一個 Timer 元件 2. 還是資料已經接收,要處理它...........
可能是我對問題的闡述不清楚。 請看下面的示例事件: procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var Str: string; CurrentLength: integer; begin ComPort.ReadStr(Str, Count); Memo.SelText := Str; …… end; ComPort就是我用的串口通信組件,它的OnRxChar事件定義如下: Occurs when charachter arrives in input buffer. type TRxCharEvent = procedure(Sender: TObject; Count: Integer) of object; property OnRxChar: TRxCharEvent; Description Write OnRxChar event handler to get information about recently arrived charachters in input buffer. Count parameter is the number of bytes in input buffer waiting to be read. OnRxChar event is usually used for reading charachters from input buffer. 我就想在這個事件中處理接收到的字串,但由於每一條AT命令執行後所返回的字串一般是分批返回的,比如,發送AT CSQ查詢信號量,OnRxChar會觸發兩次,分別接收到如下字元: 第一次觸發事件:'at csq'#$D#$D 第二次解發事件:#$A' CSQ: 28,0'#$D#$A#$D#$A'OK'#$D#$A 所以要分析這些命令與其返回結果,比較複雜。 有沒有朋友做過直接用串口發送AT指令的短信開發?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-29 10:07:06 IP:202.39.xxx.xxx 未訂閱
如果不想自己做複雜的分析動作 可考慮改用 TurboPower 出的 AsyncProfessional 元件 -- 分擔可以輕省, 分享帶來喜樂!
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-29 18:10:57 IP:222.35.xxx.xxx 未訂閱
可能是我對問題的闡述不清楚。 請看下面的示例事件: procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var Str: string; CurrentLength: integer; begin ComPort.ReadStr(Str, Count); Memo.SelText := Str; …… end; ComPort就是我用的串口通信組件,它的OnRxChar事件定義如下: Occurs when charachter arrives in input buffer. type TRxCharEvent = procedure(Sender: TObject; Count: Integer) of object; property OnRxChar: TRxCharEvent; Description Write OnRxChar event handler to get information about recently arrived charachters in input buffer. Count parameter is the number of bytes in input buffer waiting to be read. OnRxChar event is usually used for reading charachters from input buffer. 我就想在這個事件中處理接收到的字串,但由於每一條AT命令執行後所返回的字串一般是分批返回的,比如,發送AT CSQ查詢信號量,OnRxChar會觸發兩次,分別接收到如下字元: 第一次觸發事件:'at csq'#$D#$D 第二次解發事件:#$A' CSQ: 28,0'#$D#$A#$D#$A'OK'#$D#$A 所以要分析這些命令與其返回結果,比較複雜。 有沒有朋友做過直接用串口發送AT指令的短信開發? [/quote] 你可以用TTIMER來完成。根據返回的結果來觸發TTIMER。我現在就是這樣用的。
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-29 20:51:48 IP:218.18.xxx.xxx 未訂閱
多謝各位的幫忙,這個問題我自己已經解決了。 答題得分者只能有一位,就給hagar吧,因為他的“如果不想自己做複雜的分析動作”說話給了我些些啟發。
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
系統時間:2024-07-01 5:49:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!