我用了API函式 WriteFile(),但是出現的問題是當第一次發送0時,再發送1或是0都沒有影響,而當發送完1后,接下來的這次還是發送1。求大神指教。具體的函式是
var Temp: string;Irc:
LongWord;inbuff:array[0..2047] of Char;nBytesRead,dwEvent,dwError:LongWORD;cs:TCOMSTAT;
begin
timer4.Enabled:=false; if(hComm=0) then exit; Temp:= inttostr(xinhao);
WriteFile(hComm,PChar(Temp)^,length(Temp),Irc,nil);
ClearCommError(hComm,dwError,@CS);
if cs.cbInQue> sizeof(inbuff) then begin
PurgeComm(hComm,PURGE_RXCLEAR and PURGE_TXABORT);
exit;
end;
READFILE(hComm,inbuff,cs.cbInQue,nBytesRead,nil); Temp:=Copy(inbuff,1,cs.cbInQue); edit8.Text :='接受'+Temp;主要是實作單片機led的亮暗,現在出現的問題是發送1后亮,接下來發送0 的時候還是1那個還是亮的,過一會后才會0的那個燈亮
而先發送0時也是同樣的問題。
uj5u.com熱心網友回復:
看不懂你說的啥 問題沒說清楚uj5u.com熱心網友回復:
額。就是和單片機發送資料的時候,發送的資料感徑訓出現重復發送的感覺。。uj5u.com熱心網友回復:
Delphi用的是哪個版本?看看以下代碼行吧var
Temp: AnsiString;
Irc: LongWord;
begin
Temp := AnsiString(inttostr(xinhao));
WriteFile(hComm, PAnsiChar(Temp)^, length(Temp), Irc, nil);
end;
uj5u.com熱心網友回復:
你進行一次WriteFile的時候,Temp的內容是什么?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/132856.html
