Thông báo

Collapse
No announcement yet.

ai biết về code cho delphi cho em hỏi

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • ai biết về code cho delphi cho em hỏi

    em đang viết code cho bộ điều khiển cảm biến nhiệt độ.trong đó có đoạn dùng lặp repeat để ổn định nhiệt độ dùng xung PWM.
    code như sau :

    procedure TForm1.btn7Click(Sender: TObject);

    var x,oC,od:real;
    a,b,c,d,e:integer;
    begin
    a:= 0;
    b:= 63;
    c:= 127;
    d:= 191;
    e:= 255;
    repeat
    od:=strtofloat(edt6.Text);
    x:=readbyte ();
    oC:=x/40;
    if oC>od then sendbyte (a)//tat nguon bat quat
    else if oC=od then showmessage ('ok')
    else if oC<od then
    if od-oC< 5 then sendbyte(b) //25% pwm
    else if (5 < od-oc) and (od-oC< 10) then sendbyte(c) // 50 % pwm
    else if (10< od-oC) and (od-oC< 15) then sendbyte(d) //75 % pwm
    else if (15< od-oC) and (od-oC< 20) then sendbyte(e) //100% pwm
    until stop=true
    end;

    procedure TForm1.btn5Click(Sender: TObject);
    begin
    stop:=True;
    end;

    trong đó od là nhiệt độ mà ng ta nhập vào, nhưng khi cho lặp thì có hiện tượng "đơ", máy k cho dừng(k cho click vào nút dừng), các bác pro cho e hỏi tại sao??? thanks nhìu

  • #2
    Nguyên văn bởi huandtvt Xem bài viết
    em đang viết code cho bộ điều khiển cảm biến nhiệt độ.trong đó có đoạn dùng lặp repeat để ổn định nhiệt độ dùng xung PWM.
    code như sau :

    procedure TForm1.btn7Click(Sender: TObject);

    var x,oC,od:real;
    a,b,c,d,e:integer;
    begin
    a:= 0;
    b:= 63;
    c:= 127;
    d:= 191;
    e:= 255;
    repeat
    od:=strtofloat(edt6.Text);
    x:=readbyte ();
    oC:=x/40;
    if oC>od then sendbyte (a)//tat nguon bat quat
    else if oC=od then showmessage ('ok')
    else if oC<od then
    if od-oC< 5 then sendbyte(b) //25% pwm
    else if (5 < od-oc) and (od-oC< 10) then sendbyte(c) // 50 % pwm
    else if (10< od-oC) and (od-oC< 15) then sendbyte(d) //75 % pwm
    else if (15< od-oC) and (od-oC< 20) then sendbyte(e) //100% pwm
    until stop=true
    end;

    procedure TForm1.btn5Click(Sender: TObject);
    begin
    stop:=True;
    end;

    trong đó od là nhiệt độ mà ng ta nhập vào, nhưng khi cho lặp thì có hiện tượng "đơ", máy k cho dừng(k cho click vào nút dừng), các bác pro cho e hỏi tại sao??? thanks nhìu
    Bạn thêm Application.ProcessMessage(); vào giữa vòng lặp là ok
    Chấm công, kiểm soát ra vào
    Vân tay, thẻ cảm ứng
    Time Attendance, Access Control
    Finger print, proximity card

    Comment

    Về tác giả

    Collapse

    huandtvt Tìm hiểu thêm về huandtvt

    Bài viết mới nhất

    Collapse

    Đang tải...
    X