請教串口短信(簡訊)收發程式的一個問題 |
答題得分者是:hagar
|
h@visli
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
|
Vicen
高階會員 ![]() ![]() ![]() ![]() 發表:13 回覆:145 積分:151 註冊:2005-03-14 發送簡訊給我 |
|
h@visli
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
引言: 这类可以参考的程式并不多,2CCC里有个相关例程,您可以参考一下。 http://www.2ccc.com/article.asp?articleid=209 呵呵,我可不是2CCC的托哦,只是这个站真的比较好,KTOP和2CCC是我每天必去的站。大家可以去看看的。http://www.2ccc.com多謝!但我不是要這些基礎的資料,我是希望請教如何分析接收到的資料。
------
------------------------ 博采眾家之長,奉獻綿薄之力 ------------------------ |
小蚊子
中階會員 ![]() ![]() ![]() 發表:55 回覆:267 積分:94 註冊:2002-06-08 發送簡訊給我 |
|
h@visli
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
引言:可能是我對問題的闡述不清楚。 請看下面的示例事件: 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指令的短信開發?引言: 現在的問題是: 我應該如何來處理接收到的返回資料呢?不太了解您的原意??? 1. 是要接收返回的資料??? 加一個 Timer 元件 2. 還是資料已經接收,要處理它...........
------
------------------------ 博采眾家之長,奉獻綿薄之力 ------------------------ |
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
cxg
中階會員 ![]() ![]() ![]() 發表:116 回覆:192 積分:76 註冊:2004-02-12 發送簡訊給我 |
可能是我對問題的闡述不清楚。
請看下面的示例事件:
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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |