RS232的ACK和NAK接收問題 |
尚未結案
|
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
BCB該如何寫才能接收到我的設備ACK和NAK回應值
我設備操作手冊ACK data is the data adding ODH OAH to 06H 07H 01H
NAK data is the data adding ODH OAH to 15H 07H 07H
我該如寫呢
傳輸上面我已經沒問題了
cha[1]='$';
cha[2]='S';
cha[3]=3;
cha[4]='\0';
WriteFile(hCom2,cha,strlen(cha),&len,0);
ReadFile(hCom2,&sread,1,&len,NULL);
if(len==0)
{Label1->Caption="沒回應";
Edit1->Text="";
}
else
{Edit1->Text=Edit1->Text sread;
Label1->Caption="";
}
|
frederick
中階會員 發表:101 回覆:108 積分:66 註冊:2002-08-01 發送簡訊給我 |
|
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
|
frederick
中階會員 發表:101 回覆:108 積分:66 註冊:2002-08-01 發送簡訊給我 |
|
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
|
frederick
中階會員 發表:101 回覆:108 積分:66 註冊:2002-08-01 發送簡訊給我 |
您好:
我以下所列的只是一個步驟。
2. 最簡單的方是就是用for回圈分別搜尋接收字串(sread)中有無此兩個字元。
2-1. cNak = 0x15, cAck = 0x06
2-2. 所指的sread是你讀進來的資料
2-3.
for(int i=1;i<=sread.MAX, i ) { if (sread[i] == cNak) { 設定你想要的旗號 break; } }2-4. 重複2-3,但改成cAck 2-5. 用for只是一例,或許可改成while回圈 我的方法只提供您一個方向而已,希望不會誤導您。 或許您可聽聽站上大老們怎麼說。 發表人 - frederick 於 2003/11/21 16:51:45 |
leonard
一般會員 發表:42 回覆:42 積分:21 註冊:2003-10-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |