View Single Post
Old 21-08-2007, 11:22 PM   #7
Tuấn Anh CVN
Đệ tử 1 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 15
:
Mình chưa bao giờ giao tiếp với bàn phím cả nhưng còn việc chống nảy hay deal with chattering thì mình cũng làm vài lần rồi. Ở các đoạn code trên mình thấy các bạn đều sử dụng delay để chống chattering thực sự mà nói thì cách này không chính xác lắm trong mọi thời điểm. Mình đã có lần được nghe qua một người Nhật trong lúc training H8 micro đã nói về cách chống chattering dùng cho máy in đó là sử dụng biến đếm count chứ không dùng delay. Sau này khi sử dụng count thay vì dùng delay mình thấy cách của người Nhật đó thật mới là cách tốt. Các bạn hãy thử cách xây dựng một hàm đại loại như sau:

bit checkbutton ()
{
unsigned int i=0;
while (input==1)
{
i++;
if (i>=precount) {return(1);goto exit;}
else return(0);
}
i=0; return(0);
exit:{}
}

//precount là giá trị đặt trước giới hạn cho biến đếm count
//input là đầu vào. Nếu ấn nút thì là 1
//hàm checkbutton sẽ chỉ trả về giá trị 1 khi ấn nút thực sự.

thay đổi nội dung bởi: Tuấn Anh CVN, 21-08-2007 lúc 11:42 PM. Lý do: post khi chưa viết xong
Tuấn Anh CVN vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn